1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_TEST_BEGIN_FRAME_ARGS_TEST_H_
6 #define CC_TEST_BEGIN_FRAME_ARGS_TEST_H_
10 #include "base/test/simple_test_tick_clock.h"
11 #include "base/time/time.h"
12 #include "cc/output/begin_frame_args.h"
13 #include "testing/gtest/include/gtest/gtest.h"
17 // Functions for quickly creating BeginFrameArgs
18 BeginFrameArgs
CreateBeginFrameArgsForTesting(
19 BeginFrameArgs::CreationLocation location
);
20 BeginFrameArgs
CreateBeginFrameArgsForTesting(
21 BeginFrameArgs::CreationLocation location
,
22 base::TimeTicks frame_time
);
23 BeginFrameArgs
CreateBeginFrameArgsForTesting(
24 BeginFrameArgs::CreationLocation location
,
28 BeginFrameArgs
CreateBeginFrameArgsForTesting(
29 BeginFrameArgs::CreationLocation location
,
33 BeginFrameArgs::BeginFrameArgsType type
);
34 BeginFrameArgs
CreateExpiredBeginFrameArgsForTesting(
35 BeginFrameArgs::CreationLocation location
);
37 // Creates a BeginFrameArgs using the fake Now value stored on the
38 // OrderSimpleTaskRunner.
39 BeginFrameArgs
CreateBeginFrameArgsForTesting(
40 BeginFrameArgs::CreationLocation location
,
41 base::SimpleTestTickClock
* now_src
);
42 BeginFrameArgs
CreateExpiredBeginFrameArgsForTesting(
43 BeginFrameArgs::CreationLocation location
,
44 base::SimpleTestTickClock
* now_src
);
46 // gtest helpers -- these *must* be in the same namespace as the types they
49 // Allow "EXPECT_EQ(args1, args2);"
50 // We don't define operator!= because EXPECT_NE(args1, args2) isn't all that
52 bool operator==(const BeginFrameArgs
& lhs
, const BeginFrameArgs
& rhs
);
54 // Allow gtest to pretty print begin frame args.
55 ::std::ostream
& operator<<(::std::ostream
& os
, const BeginFrameArgs
& args
);
56 void PrintTo(const BeginFrameArgs
& args
, ::std::ostream
* os
);
60 #endif // CC_TEST_BEGIN_FRAME_ARGS_TEST_H_