• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <gmock/gmock.h>
2 #include <gtest/gtest.h>
3 
4 #include "VkQsriTimeline.h"
5 
6 namespace goldfish_vk {
7 namespace {
8 using ::testing::InSequence;
9 using ::testing::MockFunction;
10 
TEST(VkQsriTImelineTest,signalFirstRegisterCallbackLater)11 TEST(VkQsriTImelineTest, signalFirstRegisterCallbackLater) {
12     MockFunction<void()> mockCallback1, mockCallback2;
13     VkQsriTimeline qsriTimeline;
14     {
15         InSequence s;
16         EXPECT_CALL(mockCallback1, Call()).Times(1);
17         EXPECT_CALL(mockCallback2, Call()).Times(1);
18     }
19     qsriTimeline.signalNextPresentAndPoll();
20     qsriTimeline.signalNextPresentAndPoll();
21     qsriTimeline.registerCallbackForNextPresentAndPoll(mockCallback1.AsStdFunction());
22     qsriTimeline.registerCallbackForNextPresentAndPoll(mockCallback2.AsStdFunction());
23 }
24 
TEST(VkQsriTImelineTest,registerCallbackFirstSignalLater)25 TEST(VkQsriTImelineTest, registerCallbackFirstSignalLater) {
26     MockFunction<void()> mockCallback1, mockCallback2, beforeSignal;
27     VkQsriTimeline qsriTimeline;
28     {
29         InSequence s;
30         EXPECT_CALL(beforeSignal, Call()).Times(1);
31         EXPECT_CALL(mockCallback1, Call()).Times(1);
32         EXPECT_CALL(mockCallback2, Call()).Times(1);
33     }
34     qsriTimeline.registerCallbackForNextPresentAndPoll(mockCallback1.AsStdFunction());
35     qsriTimeline.registerCallbackForNextPresentAndPoll(mockCallback2.AsStdFunction());
36     beforeSignal.Call();
37     qsriTimeline.signalNextPresentAndPoll();
38     qsriTimeline.signalNextPresentAndPoll();
39 }
40 
41 }  // namespace
42 }  // namespace goldfish_vk