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);
|
DispatchEvent(event, eventHandlerFunctor);
|
||||||
EXPECT_EQUAL(event.user.code, eventHandlerFunctor.result);
|
EXPECT_EQUAL(event.user.code, eventHandlerFunctor.result);
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ BEGIN_TEST(int, char*[])
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
auto eventHandlerObject = EventHandlerObject{};
|
auto eventHandlerObject = EventHandlerObject();
|
||||||
DispatchEvent(event, eventHandlerObject);
|
DispatchEvent(event, eventHandlerObject);
|
||||||
EXPECT_EQUAL(event.user.code, eventHandlerObject.result);
|
EXPECT_EQUAL(event.user.code, eventHandlerObject.result);
|
||||||
}
|
}
|
||||||
@ -78,8 +78,8 @@ BEGIN_TEST(int, char*[])
|
|||||||
executed = true;
|
executed = true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
auto eventHandlerFunctor1 = EventHandlerFunctor{};
|
auto eventHandlerFunctor1 = EventHandlerFunctor();
|
||||||
auto eventHandlerFunctor2 = EventHandlerFunctor{};
|
auto eventHandlerFunctor2 = EventHandlerFunctor();
|
||||||
|
|
||||||
struct EventHandlerObject {
|
struct EventHandlerObject {
|
||||||
bool executed = false;
|
bool executed = false;
|
||||||
@ -88,7 +88,7 @@ BEGIN_TEST(int, char*[])
|
|||||||
executed = true;
|
executed = true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
auto eventHandlerObject = EventHandlerObject{};
|
auto eventHandlerObject = EventHandlerObject();
|
||||||
|
|
||||||
auto lambdaExecuted = false;
|
auto lambdaExecuted = false;
|
||||||
auto lambda = [&lambdaExecuted](SDL_QuitEvent) { lambdaExecuted = true; };
|
auto lambda = [&lambdaExecuted](SDL_QuitEvent) { lambdaExecuted = true; };
|
||||||
@ -115,7 +115,7 @@ BEGIN_TEST(int, char*[])
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
auto eventHandler = EventHandler{};
|
auto eventHandler = EventHandler();
|
||||||
DispatchEvent(event, eventHandler);
|
DispatchEvent(event, eventHandler);
|
||||||
|
|
||||||
EXPECT_TRUE(eventHandler.quitEventExecuted);
|
EXPECT_TRUE(eventHandler.quitEventExecuted);
|
||||||
@ -147,32 +147,10 @@ BEGIN_TEST(int, char*[])
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
auto eventHandler = EventHandler{};
|
auto eventHandler = EventHandler();
|
||||||
DispatchEvent(event, eventHandler);
|
DispatchEvent(event, eventHandler);
|
||||||
|
|
||||||
EXPECT_TRUE(eventHandler.quitEventFunctorExecuted);
|
EXPECT_TRUE(eventHandler.quitEventFunctorExecuted);
|
||||||
EXPECT_TRUE(eventHandler.quitEventObjectExecuted);
|
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()
|
END_TEST()
|
||||||
|
@ -66,4 +66,6 @@ int main(int, char*[]) {
|
|||||||
!IsEventHandler<InvalidEventHandler, SDL_Event>::value,
|
!IsEventHandler<InvalidEventHandler, SDL_Event>::value,
|
||||||
"IsEventHandler<> shouldn't accept a class without a valid signature"
|
"IsEventHandler<> shouldn't accept a class without a valid signature"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ BEGIN_TEST(int, char*[])
|
|||||||
|
|
||||||
// Empty event poll
|
// Empty event poll
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
while (SDL_PollEvent(&event));
|
while (SDL_PollEvent(&event)) { }
|
||||||
|
|
||||||
// Poll a single event
|
// Poll a single event
|
||||||
{
|
{
|
||||||
@ -64,7 +64,7 @@ BEGIN_TEST(int, char*[])
|
|||||||
event.type = SDL_QUIT;
|
event.type = SDL_QUIT;
|
||||||
SDL_PushEvent(&event);
|
SDL_PushEvent(&event);
|
||||||
|
|
||||||
auto eventHandler = EventHandler{};
|
auto eventHandler = EventHandler();
|
||||||
|
|
||||||
EXPECT_EQUAL(PollAllEvents(eventHandler), 3);
|
EXPECT_EQUAL(PollAllEvents(eventHandler), 3);
|
||||||
EXPECT_TRUE(!PollEvent()); // Verify no additional events
|
EXPECT_TRUE(!PollEvent()); // Verify no additional events
|
||||||
|
Loading…
x
Reference in New Issue
Block a user