aboutsummaryrefslogtreecommitdiff
path: root/src/test/InputTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/InputTest.cpp')
-rw-r--r--src/test/InputTest.cpp47
1 files changed, 35 insertions, 12 deletions
diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp
index 73eaab3..7d4a017 100644
--- a/src/test/InputTest.cpp
+++ b/src/test/InputTest.cpp
@@ -1,4 +1,7 @@
#include <gtest/gtest.h>
+
+#include <iostream>
+
#define protected public
#define private public
#include "api/KeyCodes.h"
@@ -32,8 +35,6 @@ public:
protected:
void SetUp() override {
- mediator.event_manager = event_manager;
- mediator.component_manager = mgr;
event_manager.clear();
}
@@ -67,8 +68,8 @@ TEST_F(InputTest, MouseDown) {
EventHandler<MousePressEvent> on_mouse_down = [&](const MousePressEvent & event) {
mouse_triggered = true;
//middle of the screen = 0,0
- EXPECT_EQ(event.mouse_x, 0);
- EXPECT_EQ(event.mouse_y, 0);
+ EXPECT_EQ(event.mouse_pos.x, 0);
+ EXPECT_EQ(event.mouse_pos.y, 0);
EXPECT_EQ(event.button, MouseButton::LEFT_MOUSE);
return false;
};
@@ -96,8 +97,8 @@ TEST_F(InputTest, MouseUp) {
bool function_triggered = false;
EventHandler<MouseReleaseEvent> on_mouse_release = [&](const MouseReleaseEvent & e) {
function_triggered = true;
- EXPECT_EQ(e.mouse_x, 0);
- EXPECT_EQ(e.mouse_y, 0);
+ EXPECT_EQ(e.mouse_pos.x, 0);
+ EXPECT_EQ(e.mouse_pos.y, 0);
EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);
return false;
};
@@ -124,10 +125,10 @@ TEST_F(InputTest, MouseMove) {
bool function_triggered = false;
EventHandler<MouseMoveEvent> on_mouse_move = [&](const MouseMoveEvent & e) {
function_triggered = true;
- EXPECT_EQ(e.mouse_x, 0);
- EXPECT_EQ(e.mouse_y, 0);
- EXPECT_EQ(e.delta_x, 10);
- EXPECT_EQ(e.delta_y, 10);
+ EXPECT_EQ(e.mouse_pos.x, 0);
+ EXPECT_EQ(e.mouse_pos.y, 0);
+ EXPECT_EQ(e.mouse_delta.x, 10);
+ EXPECT_EQ(e.mouse_delta.y, 10);
return false;
};
event_manager.subscribe<MouseMoveEvent>(on_mouse_move);
@@ -210,8 +211,8 @@ TEST_F(InputTest, MouseClick) {
EventHandler<MouseClickEvent> on_mouse_click = [&](const MouseClickEvent & event) {
on_click_triggered = true;
EXPECT_EQ(event.button, MouseButton::LEFT_MOUSE);
- EXPECT_EQ(event.mouse_x, 0);
- EXPECT_EQ(event.mouse_y, 0);
+ EXPECT_EQ(event.mouse_pos.x, 0);
+ EXPECT_EQ(event.mouse_pos.y, 0);
return false;
};
event_manager.subscribe<MouseClickEvent>(on_mouse_click);
@@ -291,3 +292,25 @@ TEST_F(InputTest, testButtonHover) {
event_manager.dispatch_events();
EXPECT_TRUE(button.hover);
}
+
+TEST_F(InputTest, WindowResizeTest) {
+ bool callback_triggered = false;
+ EventHandler<WindowResizeEvent> on_window_resize = [&](const WindowResizeEvent & event) {
+ std::cout << "test callback" << std::endl;
+ callback_triggered = true;
+ EXPECT_EQ(event.dimensions.x, 0);
+ EXPECT_EQ(event.dimensions.y, 0);
+ return false;
+ };
+ event_manager.subscribe<WindowResizeEvent>(on_window_resize);
+ SDL_Event resize_event;
+ SDL_zero(resize_event);
+ resize_event.type = SDL_WINDOWEVENT;
+ resize_event.window.event = SDL_WINDOWEVENT_RESIZED;
+ resize_event.window.data1 = 800; // new width
+ resize_event.window.data2 = 600; // new height
+ SDL_PushEvent(&resize_event);
+ input_system.update();
+ event_manager.dispatch_events();
+ EXPECT_TRUE(callback_triggered);
+}