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