aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-12-09 15:29:18 +0100
committerWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-12-09 15:29:18 +0100
commita80477f2e7f4c18adcc6441828d17582aad2598f (patch)
treefc26007bf3c9ea463cb4572bc26cf176d4b85d63 /src/test
parent2ff3369a7aaf98936bf93f1c7c0dbfcaa38c31d7 (diff)
get_keyboard_state working
Diffstat (limited to 'src/test')
-rw-r--r--src/test/InputTest.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp
index 94549a0..e9dc645 100644
--- a/src/test/InputTest.cpp
+++ b/src/test/InputTest.cpp
@@ -331,3 +331,31 @@ TEST_F(InputTest, WindowMoveTest) {
event_manager.dispatch_events();
EXPECT_TRUE(callback_triggered);
}
+TEST_F(InputTest, KeyboardStateTest) {
+ SDLContext& sdl_context = this->mediator.sdl_context;
+ // Simulate pressing a key
+ SDL_Event key_down_event;
+ SDL_zero(key_down_event);
+ key_down_event.type = SDL_KEYDOWN;
+ key_down_event.key.keysym.scancode = SDL_SCANCODE_A;
+ key_down_event.key.keysym.sym = SDL_SCANCODE_A;
+ SDL_PushEvent(&key_down_event);
+
+ // Check the keyboard state
+ auto keyboard_state = sdl_context.get_keyboard_state();
+
+ // Verify the state of the 'A' key
+ EXPECT_TRUE(keyboard_state[Keycode::A]);
+
+ // Simulate releasing a key
+ SDL_Event key_up_event;
+ SDL_zero(key_up_event);
+ key_up_event.type = SDL_KEYUP;
+ key_up_event.key.keysym.scancode = SDL_SCANCODE_A; // Simulate releasing 'A' key
+ SDL_PushEvent(&key_up_event);
+ // Check the keyboard state again
+ keyboard_state = sdl_context.get_keyboard_state();
+
+ // Verify the state of the 'A' key
+ EXPECT_FALSE(keyboard_state[Keycode::A]);
+}