summary refs log tree commit diff
path: root/tests/test_common/test_fixture.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_common/test_fixture.hpp')
-rw-r--r--tests/test_common/test_fixture.hpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/test_common/test_fixture.hpp b/tests/test_common/test_fixture.hpp
index 340503665b..73b5d8d3e8 100644
--- a/tests/test_common/test_fixture.hpp
+++ b/tests/test_common/test_fixture.hpp
@@ -16,15 +16,34 @@
 
 #pragma once
 
+#include <cstdint>
+#include <unordered_map>
+#include <optional>
 #include "gtest/gtest.h"
+#include "keyboard.h"
+#include "test_keymap_key.hpp"
 
 class TestFixture : public testing::Test {
-public:
+   public:
+    static TestFixture* m_this;
+
     TestFixture();
     ~TestFixture();
     static void SetUpTestCase();
     static void TearDownTestCase();
 
+    void set_keymap(std::initializer_list<KeymapKey> keycodes);
+    void add_key(const KeymapKey key);
+
+    const KeymapKey* find_key(const layer_t layer_t, const keypos_t position) const;
+    void                     get_keycode(const layer_t layer, const keypos_t position, uint16_t* result) const;
+
     void run_one_scan_loop();
     void idle_for(unsigned ms);
+
+    void expect_layer_state(layer_t layer) const;
+
+   protected:
+    void                   print_test_log() const;
+    std::vector<KeymapKey> keymap;
 };