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 #include "cc/test/begin_frame_args_test.h"
7 #include "base/time/time.h"
8 #include "cc/output/begin_frame_args.h"
9 #include "ui/gfx/frame_time.h"
13 BeginFrameArgs
CreateBeginFrameArgsForTesting() {
14 return CreateBeginFrameArgsForTesting(gfx::FrameTime::Now());
17 BeginFrameArgs
CreateBeginFrameArgsForTesting(base::TimeTicks frame_time
) {
18 return BeginFrameArgs::Create(
20 frame_time
+ (BeginFrameArgs::DefaultInterval() / 2),
21 BeginFrameArgs::DefaultInterval());
24 BeginFrameArgs
CreateBeginFrameArgsForTesting(int64 frame_time
,
27 return BeginFrameArgs::Create(base::TimeTicks::FromInternalValue(frame_time
),
28 base::TimeTicks::FromInternalValue(deadline
),
29 base::TimeDelta::FromInternalValue(interval
));
32 BeginFrameArgs
CreateExpiredBeginFrameArgsForTesting() {
33 base::TimeTicks now
= gfx::FrameTime::Now();
34 return BeginFrameArgs::Create(now
,
35 now
- BeginFrameArgs::DefaultInterval(),
36 BeginFrameArgs::DefaultInterval());
39 BeginFrameArgs
CreateBeginFrameArgsForTesting(
40 scoped_refptr
<TestNowSource
> now_src
) {
41 base::TimeTicks now
= now_src
->Now();
42 return BeginFrameArgs::Create(now
,
43 now
+ (BeginFrameArgs::DefaultInterval() / 2),
44 BeginFrameArgs::DefaultInterval());
47 BeginFrameArgs
CreateExpiredBeginFrameArgsForTesting(
48 scoped_refptr
<TestNowSource
> now_src
) {
49 base::TimeTicks now
= now_src
->Now();
50 return BeginFrameArgs::Create(now
,
51 now
- BeginFrameArgs::DefaultInterval(),
52 BeginFrameArgs::DefaultInterval());
55 bool operator==(const BeginFrameArgs
& lhs
, const BeginFrameArgs
& rhs
) {
56 return (lhs
.frame_time
== rhs
.frame_time
) && (lhs
.deadline
== rhs
.deadline
) &&
57 (lhs
.interval
== rhs
.interval
);
60 ::std::ostream
& operator<<(::std::ostream
& os
, const BeginFrameArgs
& args
) {
65 void PrintTo(const BeginFrameArgs
& args
, ::std::ostream
* os
) {
66 *os
<< "BeginFrameArgs(" << args
.frame_time
.ToInternalValue() << ", "
67 << args
.deadline
.ToInternalValue() << ", "
68 << args
.interval
.InMicroseconds() << "us)";