summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Rascher <jon@bcat.name>2021-06-08 10:47:23 -0500
committerPete Johanson <peter@peterjohanson.com>2021-06-08 20:35:58 -0400
commiteecc12c98022c1dce4a228914887ed328b1774c2 (patch)
tree7192511caf15374fad4ce513e5fa75c369c3b978
parentbba1599824dc98284656d96748c7f09f10d5a00e (diff)
test(combo): Add unit test for complete long combo
-rw-r--r--app/tests/combo/press-release-long-combo-complete/events.patterns1
-rw-r--r--app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot2
-rw-r--r--app/tests/combo/press-release-long-combo-complete/native_posix.keymap39
3 files changed, 42 insertions, 0 deletions
diff --git a/app/tests/combo/press-release-long-combo-complete/events.patterns b/app/tests/combo/press-release-long-combo-complete/events.patterns
new file mode 100644
index 0000000..b1342af
--- /dev/null
+++ b/app/tests/combo/press-release-long-combo-complete/events.patterns
@@ -0,0 +1 @@
+s/.*hid_listener_keycode_//p
diff --git a/app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot b/app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot
new file mode 100644
index 0000000..a9618a6
--- /dev/null
+++ b/app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot
@@ -0,0 +1,2 @@
+pressed: usage_page 0x07 keycode 0x1d implicit_mods 0x00 explicit_mods 0x00
+released: usage_page 0x07 keycode 0x1d implicit_mods 0x00 explicit_mods 0x00
diff --git a/app/tests/combo/press-release-long-combo-complete/native_posix.keymap b/app/tests/combo/press-release-long-combo-complete/native_posix.keymap
new file mode 100644
index 0000000..2a71ad3
--- /dev/null
+++ b/app/tests/combo/press-release-long-combo-complete/native_posix.keymap
@@ -0,0 +1,39 @@
+#include <dt-bindings/zmk/keys.h>
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/kscan-mock.h>
+
+/ {
+ combos {
+ compatible = "zmk,combos";
+ combo_one {
+ timeout-ms = <80>;
+ key-positions = <0 1 2 3>;
+ bindings = <&kp Z>;
+ };
+ };
+
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &kp A &kp B
+ &kp C &kp D
+ >;
+ };
+ };
+};
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(1,1,10)
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_PRESS(1,0,10)
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_RELEASE(0,0,100)
+ ZMK_MOCK_RELEASE(1,0,100)
+ ZMK_MOCK_RELEASE(0,1,100)
+ ZMK_MOCK_RELEASE(1,1,100)
+ >;
+};