summary refs log tree commit diff
path: root/tests/test_common/keyboard_report_util.cpp
diff options
context:
space:
mode:
authorStefan Kerkmann <karlk90@pm.me>2021-11-23 03:31:01 +0100
committerGitHub <noreply@github.com>2021-11-23 13:31:01 +1100
commita24bdccee0580d1263733bc7e66e4e4f97713f19 (patch)
tree868cb12a436a87b39c936292f442bcc266ae0224 /tests/test_common/keyboard_report_util.cpp
parente20bc76a1e05d02c15a452e51fa76d9ec39b0369 (diff)
[Tests] Increase QMK test coverage take 2 (#15269)
* Add per-test keymaps

* Add better trace and info logs for failed unit-tests

* Add layer state assertion with tracing message

* Use individual test binaries configuration options

* Add basic qmk functionality tests

* Add tap hold configurations tests

* Add auto shift tests

Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'tests/test_common/keyboard_report_util.cpp')
-rw-r--r--tests/test_common/keyboard_report_util.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/test_common/keyboard_report_util.cpp b/tests/test_common/keyboard_report_util.cpp
index f73cf239e0..e148c76beb 100644
--- a/tests/test_common/keyboard_report_util.cpp
+++ b/tests/test_common/keyboard_report_util.cpp
@@ -44,16 +44,21 @@ bool operator==(const report_keyboard_t& lhs, const report_keyboard_t& rhs) {
     return lhs.mods == rhs.mods && lhskeys == rhskeys;
 }
 
-std::ostream& operator<<(std::ostream& stream, const report_keyboard_t& value) {
-    stream << "Keyboard report:" << std::endl;
-    stream << "Mods: " << (uint32_t)value.mods << std::endl;
-    stream << "Keys: ";
+std::ostream& operator<<(std::ostream& stream, const report_keyboard_t& report) {
+    auto keys = get_keys(report);
+
     // TODO: This should probably print friendly names for the keys
-    for (uint32_t k : get_keys(value)) {
-        stream << k << " ";
+    stream << "Keyboard Report: Mods (" << (uint32_t)report.mods << ") Keys (";
+
+    for (auto key = keys.cbegin(); key != keys.cend();) {
+        stream << +(*key);
+        key++;
+        if (key != keys.cend()) {
+            stream << ",";
+        }
     }
-    stream << std::endl;
-    return stream;
+
+    return stream << ")" << std::endl;
 }
 
 KeyboardReportMatcher::KeyboardReportMatcher(const std::vector<uint8_t>& keys) {