Fixed event handling/dispatching tests

This commit is contained in:
Vraiment 2017-08-09 00:35:34 -07:00
parent 4b74730b1d
commit 154eed861d
3 changed files with 11 additions and 31 deletions

View File

@ -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()

View File

@ -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;
}

View File

@ -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