diff options
author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-09 15:29:18 +0100 |
---|---|---|
committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-09 15:29:18 +0100 |
commit | a80477f2e7f4c18adcc6441828d17582aad2598f (patch) | |
tree | fc26007bf3c9ea463cb4572bc26cf176d4b85d63 /src/test | |
parent | 2ff3369a7aaf98936bf93f1c7c0dbfcaa38c31d7 (diff) |
get_keyboard_state working
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/InputTest.cpp | 28 |
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]); +} |