mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-08-03 19:05:59 -04:00
Fixed event handling/dispatching tests
This commit is contained in:
parent
4b74730b1d
commit
154eed861d
@ -49,7 +49,7 @@ BEGIN_TEST(int, char*[])
|
||||
}
|
||||
};
|
||||
|
||||
auto eventHandlerFunctor = EventHandlerFunctor{};
|
||||
auto eventHandlerFunctor = EventHandlerFunctor();
|
||||
DispatchEvent(event, eventHandlerFunctor);
|
||||
EXPECT_EQUAL(event.user.code, eventHandlerFunctor.result);
|
||||
}
|
||||
@ -64,7 +64,7 @@ BEGIN_TEST(int, char*[])
|
||||
}
|
||||
};
|
||||
|
||||
auto eventHandlerObject = EventHandlerObject{};
|
||||
auto eventHandlerObject = EventHandlerObject();
|
||||
DispatchEvent(event, eventHandlerObject);
|
||||
EXPECT_EQUAL(event.user.code, eventHandlerObject.result);
|
||||
}
|
||||
@ -78,8 +78,8 @@ BEGIN_TEST(int, char*[])
|
||||
executed = true;
|
||||
}
|
||||
};
|
||||
auto eventHandlerFunctor1 = EventHandlerFunctor{};
|
||||
auto eventHandlerFunctor2 = EventHandlerFunctor{};
|
||||
auto eventHandlerFunctor1 = EventHandlerFunctor();
|
||||
auto eventHandlerFunctor2 = EventHandlerFunctor();
|
||||
|
||||
struct EventHandlerObject {
|
||||
bool executed = false;
|
||||
@ -88,7 +88,7 @@ BEGIN_TEST(int, char*[])
|
||||
executed = true;
|
||||
}
|
||||
};
|
||||
auto eventHandlerObject = EventHandlerObject{};
|
||||
auto eventHandlerObject = EventHandlerObject();
|
||||
|
||||
auto lambdaExecuted = false;
|
||||
auto lambda = [&lambdaExecuted](SDL_QuitEvent) { lambdaExecuted = true; };
|
||||
@ -115,7 +115,7 @@ BEGIN_TEST(int, char*[])
|
||||
}
|
||||
};
|
||||
|
||||
auto eventHandler = EventHandler{};
|
||||
auto eventHandler = EventHandler();
|
||||
DispatchEvent(event, eventHandler);
|
||||
|
||||
EXPECT_TRUE(eventHandler.quitEventExecuted);
|
||||
@ -147,32 +147,10 @@ BEGIN_TEST(int, char*[])
|
||||
}
|
||||
};
|
||||
|
||||
auto eventHandler = EventHandler{};
|
||||
auto eventHandler = EventHandler();
|
||||
DispatchEvent(event, eventHandler);
|
||||
|
||||
EXPECT_TRUE(eventHandler.quitEventFunctorExecuted);
|
||||
EXPECT_TRUE(eventHandler.quitEventObjectExecuted);
|
||||
}
|
||||
|
||||
// Test don't call event handler with annotated types
|
||||
{
|
||||
struct EventHandler {
|
||||
bool quitEventFunctorExecuted = false;
|
||||
bool quitEventObjectExecuted = false;
|
||||
|
||||
void operator()(SDL_QuitEvent) {
|
||||
quitEventFunctorExecuted = true;
|
||||
}
|
||||
|
||||
void HandleEvent(SDL_QuitEvent &) {
|
||||
quitEventObjectExecuted = true;
|
||||
}
|
||||
};
|
||||
|
||||
auto eventHandler = EventHandler{};
|
||||
DispatchEvent(event, eventHandler);
|
||||
|
||||
EXPECT_TRUE(eventHandler.quitEventFunctorExecuted);
|
||||
EXPECT_TRUE(!eventHandler.quitEventObjectExecuted);
|
||||
}
|
||||
END_TEST()
|
||||
|
@ -66,4 +66,6 @@ int main(int, char*[]) {
|
||||
!IsEventHandler<InvalidEventHandler, SDL_Event>::value,
|
||||
"IsEventHandler<> shouldn't accept a class without a valid signature"
|
||||
);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ BEGIN_TEST(int, char*[])
|
||||
|
||||
// Empty event poll
|
||||
SDL_Event event;
|
||||
while (SDL_PollEvent(&event));
|
||||
while (SDL_PollEvent(&event)) { }
|
||||
|
||||
// Poll a single event
|
||||
{
|
||||
@ -64,7 +64,7 @@ BEGIN_TEST(int, char*[])
|
||||
event.type = SDL_QUIT;
|
||||
SDL_PushEvent(&event);
|
||||
|
||||
auto eventHandler = EventHandler{};
|
||||
auto eventHandler = EventHandler();
|
||||
|
||||
EXPECT_EQUAL(PollAllEvents(eventHandler), 3);
|
||||
EXPECT_TRUE(!PollEvent()); // Verify no additional events
|
||||
|
Loading…
x
Reference in New Issue
Block a user