• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef CC_TEST_BEGIN_FRAME_ARGS_TEST_H_
6 #define CC_TEST_BEGIN_FRAME_ARGS_TEST_H_
7 
8 #include <iosfwd>
9 
10 #include "base/time/time.h"
11 #include "cc/output/begin_frame_args.h"
12 #include "cc/test/test_now_source.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14 
15 namespace cc {
16 
17 // Functions for quickly creating BeginFrameArgs
18 BeginFrameArgs CreateBeginFrameArgsForTesting();
19 BeginFrameArgs CreateBeginFrameArgsForTesting(base::TimeTicks frame_time);
20 BeginFrameArgs CreateBeginFrameArgsForTesting(int64 frame_time,
21                                               int64 deadline,
22                                               int64 interval);
23 BeginFrameArgs CreateExpiredBeginFrameArgsForTesting();
24 
25 // Creates a BeginFrameArgs using the fake Now value stored on the
26 // OrderSimpleTaskRunner.
27 BeginFrameArgs CreateBeginFrameArgsForTesting(
28     scoped_refptr<TestNowSource> now_src);
29 BeginFrameArgs CreateExpiredBeginFrameArgsForTesting(
30     scoped_refptr<TestNowSource> now_src);
31 
32 // gtest helpers -- these *must* be in the same namespace as the types they
33 // operate on.
34 
35 // Allow "EXPECT_EQ(args1, args2);"
36 // We don't define operator!= because EXPECT_NE(args1, args2) isn't all that
37 // sensible.
38 bool operator==(const BeginFrameArgs& lhs, const BeginFrameArgs& rhs);
39 
40 // Allow gtest to pretty print begin frame args.
41 ::std::ostream& operator<<(::std::ostream& os, const BeginFrameArgs& args);
42 void PrintTo(const BeginFrameArgs& args, ::std::ostream* os);
43 
44 }  // namespace cc
45 
46 #endif  // CC_TEST_BEGIN_FRAME_ARGS_TEST_H_
47