summaryrefslogtreecommitdiff
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;
};