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 15namespace cc { 16 17// Functions for quickly creating BeginFrameArgs 18BeginFrameArgs CreateBeginFrameArgsForTesting(); 19BeginFrameArgs CreateBeginFrameArgsForTesting(base::TimeTicks frame_time); 20BeginFrameArgs CreateBeginFrameArgsForTesting(int64 frame_time, 21 int64 deadline, 22 int64 interval); 23BeginFrameArgs CreateExpiredBeginFrameArgsForTesting(); 24 25// Creates a BeginFrameArgs using the fake Now value stored on the 26// OrderSimpleTaskRunner. 27BeginFrameArgs CreateBeginFrameArgsForTesting( 28 scoped_refptr<TestNowSource> now_src); 29BeginFrameArgs 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. 38bool 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); 42void PrintTo(const BeginFrameArgs& args, ::std::ostream* os); 43 44} // namespace cc 45 46#endif // CC_TEST_BEGIN_FRAME_ARGS_TEST_H_ 47