Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Side by Side Diff: cc/animation/animation_unittest.cc

Issue 231133002: CC::Animations should use TimeTicks & TimeDelta to represent time (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code changed as per review comments Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/animation/animation_events.cc ('k') | cc/animation/layer_animation_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/animation/animation.h" 5 #include "cc/animation/animation.h"
6 6
7 #include "cc/test/animation_test_common.h" 7 #include "cc/test/animation_test_common.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 namespace cc { 11 namespace cc {
12 namespace { 12 namespace {
13 13
14 using base::TimeDelta;
15
16 static base::TimeTicks TicksFromSecondsF(double seconds) {
17 return base::TimeTicks::FromInternalValue(seconds *
18 base::Time::kMicrosecondsPerSecond);
19 }
20
14 scoped_ptr<Animation> CreateAnimation(int iterations, double duration) { 21 scoped_ptr<Animation> CreateAnimation(int iterations, double duration) {
15 scoped_ptr<Animation> to_return(Animation::Create( 22 scoped_ptr<Animation> to_return(Animation::Create(
16 make_scoped_ptr( 23 make_scoped_ptr(
17 new FakeFloatAnimationCurve(duration)).PassAs<AnimationCurve>(), 24 new FakeFloatAnimationCurve(duration)).PassAs<AnimationCurve>(),
18 0, 25 0,
19 1, 26 1,
20 Animation::Opacity)); 27 Animation::Opacity));
21 to_return->set_iterations(iterations); 28 to_return->set_iterations(iterations);
22 return to_return.Pass(); 29 return to_return.Pass();
23 } 30 }
24 31
25 scoped_ptr<Animation> CreateAnimation(int iterations) { 32 scoped_ptr<Animation> CreateAnimation(int iterations) {
26 return CreateAnimation(iterations, 1); 33 return CreateAnimation(iterations, 1);
27 } 34 }
28 35
29 TEST(AnimationTest, TrimTimeZeroIterations) { 36 TEST(AnimationTest, TrimTimeZeroIterations) {
30 scoped_ptr<Animation> anim(CreateAnimation(0)); 37 scoped_ptr<Animation> anim(CreateAnimation(0));
31 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(-1.0)); 38 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
32 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 39 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
33 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0)); 40 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
34 } 41 }
35 42
36 TEST(AnimationTest, TrimTimeOneIteration) { 43 TEST(AnimationTest, TrimTimeOneIteration) {
37 scoped_ptr<Animation> anim(CreateAnimation(1)); 44 scoped_ptr<Animation> anim(CreateAnimation(1));
38 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(-1.0)); 45 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
39 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 46 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
40 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0)); 47 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
41 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(2.0)); 48 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
42 } 49 }
43 50
44 TEST(AnimationTest, TrimTimeInfiniteIterations) { 51 TEST(AnimationTest, TrimTimeInfiniteIterations) {
45 scoped_ptr<Animation> anim(CreateAnimation(-1)); 52 scoped_ptr<Animation> anim(CreateAnimation(-1));
46 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 53 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
47 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 54 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
48 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0)); 55 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
49 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1.5)); 56 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)));
50 } 57 }
51 58
52 TEST(AnimationTest, TrimTimeReverse) { 59 TEST(AnimationTest, TrimTimeReverse) {
53 scoped_ptr<Animation> anim(CreateAnimation(-1)); 60 scoped_ptr<Animation> anim(CreateAnimation(-1));
54 anim->set_direction(Animation::Reverse); 61 anim->set_direction(Animation::Reverse);
55 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0)); 62 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)));
56 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25)); 63 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
57 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 64 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
58 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75)); 65 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
59 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0)); 66 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
60 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25)); 67 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
61 } 68 }
62 69
63 TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) { 70 TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) {
64 scoped_ptr<Animation> anim(CreateAnimation(-1)); 71 scoped_ptr<Animation> anim(CreateAnimation(-1));
65 anim->set_direction(Animation::Alternate); 72 anim->set_direction(Animation::Alternate);
66 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0)); 73 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
67 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.25)); 74 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
68 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 75 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
69 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.75)); 76 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
70 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0)); 77 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
71 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25)); 78 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
72 } 79 }
73 80
74 TEST(AnimationTest, TrimTimeAlternateOneIteration) { 81 TEST(AnimationTest, TrimTimeAlternateOneIteration) {
75 scoped_ptr<Animation> anim(CreateAnimation(1)); 82 scoped_ptr<Animation> anim(CreateAnimation(1));
76 anim->set_direction(Animation::Alternate); 83 anim->set_direction(Animation::Alternate);
77 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0)); 84 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
78 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.25)); 85 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
79 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 86 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
80 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.75)); 87 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
81 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0)); 88 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
82 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.25)); 89 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
83 } 90 }
84 91
85 TEST(AnimationTest, TrimTimeAlternateTwoIterations) { 92 TEST(AnimationTest, TrimTimeAlternateTwoIterations) {
86 scoped_ptr<Animation> anim(CreateAnimation(2)); 93 scoped_ptr<Animation> anim(CreateAnimation(2));
87 anim->set_direction(Animation::Alternate); 94 anim->set_direction(Animation::Alternate);
88 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0)); 95 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
89 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.25)); 96 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
90 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 97 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
91 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.75)); 98 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
92 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0)); 99 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
93 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25)); 100 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
94 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1.75)); 101 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)));
95 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(2.0)); 102 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
96 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(2.25)); 103 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)));
97 } 104 }
98 105
99 TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) { 106 TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) {
100 scoped_ptr<Animation> anim(CreateAnimation(-1)); 107 scoped_ptr<Animation> anim(CreateAnimation(-1));
101 anim->set_direction(Animation::AlternateReverse); 108 anim->set_direction(Animation::AlternateReverse);
102 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 109 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
103 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25)); 110 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
104 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 111 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
105 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75)); 112 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
106 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0)); 113 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
107 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1.25)); 114 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
108 } 115 }
109 116
110 TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) { 117 TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) {
111 scoped_ptr<Animation> anim(CreateAnimation(1)); 118 scoped_ptr<Animation> anim(CreateAnimation(1));
112 anim->set_direction(Animation::AlternateReverse); 119 anim->set_direction(Animation::AlternateReverse);
113 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 120 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
114 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25)); 121 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
115 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 122 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
116 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75)); 123 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
117 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0)); 124 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
118 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.25)); 125 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
119 } 126 }
120 127
121 TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) { 128 TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) {
122 scoped_ptr<Animation> anim(CreateAnimation(2)); 129 scoped_ptr<Animation> anim(CreateAnimation(2));
123 anim->set_direction(Animation::AlternateReverse); 130 anim->set_direction(Animation::AlternateReverse);
124 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 131 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
125 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25)); 132 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
126 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 133 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
127 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75)); 134 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
128 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0)); 135 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
129 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1.25)); 136 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
130 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.75)); 137 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)));
131 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(2.0)); 138 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
132 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(2.25)); 139 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)));
133 } 140 }
134 141
135 TEST(AnimationTest, TrimTimeStartTime) { 142 TEST(AnimationTest, TrimTimeStartTime) {
136 scoped_ptr<Animation> anim(CreateAnimation(1)); 143 scoped_ptr<Animation> anim(CreateAnimation(1));
137 anim->set_start_time(4); 144 anim->set_start_time(TicksFromSecondsF(4));
138 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 145 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
139 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(4.0)); 146 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
140 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5)); 147 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
141 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(5.0)); 148 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
142 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(6.0)); 149 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)));
143 } 150 }
144 151
145 TEST(AnimationTest, TrimTimeStartTimeReverse) { 152 TEST(AnimationTest, TrimTimeStartTimeReverse) {
146 scoped_ptr<Animation> anim(CreateAnimation(1)); 153 scoped_ptr<Animation> anim(CreateAnimation(1));
147 anim->set_start_time(4); 154 anim->set_start_time(TicksFromSecondsF(4));
148 anim->set_direction(Animation::Reverse); 155 anim->set_direction(Animation::Reverse);
149 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 156 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
150 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(4.0)); 157 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
151 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5)); 158 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
152 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(5.0)); 159 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
153 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(6.0)); 160 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)));
154 } 161 }
155 162
156 TEST(AnimationTest, TrimTimeTimeOffset) { 163 TEST(AnimationTest, TrimTimeTimeOffset) {
157 scoped_ptr<Animation> anim(CreateAnimation(1)); 164 scoped_ptr<Animation> anim(CreateAnimation(1));
158 anim->set_time_offset(4); 165 anim->set_time_offset(TimeDelta::FromMilliseconds(4000));
159 anim->set_start_time(4); 166 anim->set_start_time(TicksFromSecondsF(4));
160 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 167 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
161 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 168 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
162 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0)); 169 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
163 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0)); 170 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
164 } 171 }
165 172
166 TEST(AnimationTest, TrimTimeTimeOffsetReverse) { 173 TEST(AnimationTest, TrimTimeTimeOffsetReverse) {
167 scoped_ptr<Animation> anim(CreateAnimation(1)); 174 scoped_ptr<Animation> anim(CreateAnimation(1));
168 anim->set_time_offset(4); 175 anim->set_time_offset(TimeDelta::FromMilliseconds(4000));
169 anim->set_start_time(4); 176 anim->set_start_time(TicksFromSecondsF(4));
170 anim->set_direction(Animation::Reverse); 177 anim->set_direction(Animation::Reverse);
171 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 178 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
172 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 179 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
173 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0)); 180 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
174 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0)); 181 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
175 } 182 }
176 183
177 TEST(AnimationTest, TrimTimeNegativeTimeOffset) { 184 TEST(AnimationTest, TrimTimeNegativeTimeOffset) {
178 scoped_ptr<Animation> anim(CreateAnimation(1)); 185 scoped_ptr<Animation> anim(CreateAnimation(1));
179 anim->set_time_offset(-4); 186 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000));
180 187
181 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 188 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
182 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(4.0)); 189 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
183 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5)); 190 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
184 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(5.0)); 191 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
185 } 192 }
186 193
187 TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) { 194 TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) {
188 scoped_ptr<Animation> anim(CreateAnimation(1)); 195 scoped_ptr<Animation> anim(CreateAnimation(1));
189 anim->set_time_offset(-4); 196 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000));
190 anim->set_direction(Animation::Reverse); 197 anim->set_direction(Animation::Reverse);
191 198
192 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 199 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
193 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(4.0)); 200 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
194 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5)); 201 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
195 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(5.0)); 202 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
196 } 203 }
197 204
198 TEST(AnimationTest, TrimTimePauseResume) { 205 TEST(AnimationTest, TrimTimePauseResume) {
199 scoped_ptr<Animation> anim(CreateAnimation(1)); 206 scoped_ptr<Animation> anim(CreateAnimation(1));
200 anim->SetRunState(Animation::Running, 0.0); 207 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
201 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 208 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
202 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 209 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
203 anim->SetRunState(Animation::Paused, 0.5); 210 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.5));
204 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0)); 211 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
205 anim->SetRunState(Animation::Running, 1024.0); 212 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0));
206 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0)); 213 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
207 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1024.5)); 214 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)));
208 } 215 }
209 216
210 TEST(AnimationTest, TrimTimePauseResumeReverse) { 217 TEST(AnimationTest, TrimTimePauseResumeReverse) {
211 scoped_ptr<Animation> anim(CreateAnimation(1)); 218 scoped_ptr<Animation> anim(CreateAnimation(1));
212 anim->set_direction(Animation::Reverse); 219 anim->set_direction(Animation::Reverse);
213 anim->SetRunState(Animation::Running, 0.0); 220 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
214 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 221 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
215 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 222 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
216 anim->SetRunState(Animation::Paused, 0.25); 223 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.25));
217 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1024.0)); 224 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
218 anim->SetRunState(Animation::Running, 1024.0); 225 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0));
219 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1024.0)); 226 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
220 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1024.75)); 227 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.75)));
221 } 228 }
222 229
223 TEST(AnimationTest, TrimTimeSuspendResume) { 230 TEST(AnimationTest, TrimTimeSuspendResume) {
224 scoped_ptr<Animation> anim(CreateAnimation(1)); 231 scoped_ptr<Animation> anim(CreateAnimation(1));
225 anim->SetRunState(Animation::Running, 0.0); 232 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
226 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 233 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
227 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5)); 234 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
228 anim->Suspend(0.5); 235 anim->Suspend(TicksFromSecondsF(0.5));
229 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0)); 236 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
230 anim->Resume(1024); 237 anim->Resume(TicksFromSecondsF(1024));
231 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0)); 238 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
232 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1024.5)); 239 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)));
233 } 240 }
234 241
235 TEST(AnimationTest, TrimTimeSuspendResumeReverse) { 242 TEST(AnimationTest, TrimTimeSuspendResumeReverse) {
236 scoped_ptr<Animation> anim(CreateAnimation(1)); 243 scoped_ptr<Animation> anim(CreateAnimation(1));
237 anim->set_direction(Animation::Reverse); 244 anim->set_direction(Animation::Reverse);
238 anim->SetRunState(Animation::Running, 0.0); 245 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
239 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 246 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
240 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25)); 247 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
241 anim->Suspend(0.75); 248 anim->Suspend(TicksFromSecondsF(0.75));
242 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1024.0)); 249 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
243 anim->Resume(1024); 250 anim->Resume(TicksFromSecondsF(1024));
244 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1024.0)); 251 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
245 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1024.25)); 252 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.25)));
246 } 253 }
247 254
248 TEST(AnimationTest, TrimTimeZeroDuration) { 255 TEST(AnimationTest, TrimTimeZeroDuration) {
249 scoped_ptr<Animation> anim(CreateAnimation(0, 0)); 256 scoped_ptr<Animation> anim(CreateAnimation(0, 0));
250 anim->SetRunState(Animation::Running, 0.0); 257 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
251 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(-1.0)); 258 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
252 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0)); 259 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
253 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0)); 260 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
254 } 261 }
255 262
256 TEST(AnimationTest, TrimTimeStarting) { 263 TEST(AnimationTest, TrimTimeStarting) {
257 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); 264 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0));
258 anim->SetRunState(Animation::Starting, 0.0); 265 anim->SetRunState(Animation::Starting, TicksFromSecondsF(0.0));
259 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(-1.0)); 266 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
260 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0)); 267 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
261 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0)); 268 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
262 anim->set_time_offset(2.0); 269 anim->set_time_offset(TimeDelta::FromMilliseconds(2000));
263 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(-1.0)); 270 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
264 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(0.0)); 271 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
265 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0)); 272 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
266 anim->set_start_time(1.0); 273 anim->set_start_time(TicksFromSecondsF(1.0));
267 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(-1.0)); 274 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
268 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 275 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
269 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0)); 276 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
270 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(2.0)); 277 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
271 } 278 }
272 279
273 TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) { 280 TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) {
274 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); 281 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0));
275 anim->SetRunState(Animation::Running, 0.0); 282 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
276 anim->set_needs_synchronized_start_time(true); 283 anim->set_needs_synchronized_start_time(true);
277 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(-1.0)); 284 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
278 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0)); 285 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
279 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0)); 286 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
280 anim->set_time_offset(2.0); 287 anim->set_time_offset(TimeDelta::FromMilliseconds(2000));
281 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(-1.0)); 288 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
282 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(0.0)); 289 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
283 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0)); 290 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
284 anim->set_start_time(1.0); 291 anim->set_start_time(TicksFromSecondsF(1.0));
285 anim->set_needs_synchronized_start_time(false); 292 anim->set_needs_synchronized_start_time(false);
286 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0)); 293 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
287 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0)); 294 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
288 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(2.0)); 295 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
289 } 296 }
290 297
291 TEST(AnimationTest, IsFinishedAtZeroIterations) { 298 TEST(AnimationTest, IsFinishedAtZeroIterations) {
292 scoped_ptr<Animation> anim(CreateAnimation(0)); 299 scoped_ptr<Animation> anim(CreateAnimation(0));
293 anim->SetRunState(Animation::Running, 0.0); 300 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
294 EXPECT_FALSE(anim->IsFinishedAt(-1.0)); 301 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
295 EXPECT_TRUE(anim->IsFinishedAt(0.0)); 302 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
296 EXPECT_TRUE(anim->IsFinishedAt(1.0)); 303 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
297 } 304 }
298 305
299 TEST(AnimationTest, IsFinishedAtOneIteration) { 306 TEST(AnimationTest, IsFinishedAtOneIteration) {
300 scoped_ptr<Animation> anim(CreateAnimation(1)); 307 scoped_ptr<Animation> anim(CreateAnimation(1));
301 anim->SetRunState(Animation::Running, 0.0); 308 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
302 EXPECT_FALSE(anim->IsFinishedAt(-1.0)); 309 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
303 EXPECT_FALSE(anim->IsFinishedAt(0.0)); 310 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
304 EXPECT_TRUE(anim->IsFinishedAt(1.0)); 311 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
305 EXPECT_TRUE(anim->IsFinishedAt(2.0)); 312 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0)));
306 } 313 }
307 314
308 TEST(AnimationTest, IsFinishedAtInfiniteIterations) { 315 TEST(AnimationTest, IsFinishedAtInfiniteIterations) {
309 scoped_ptr<Animation> anim(CreateAnimation(-1)); 316 scoped_ptr<Animation> anim(CreateAnimation(-1));
310 anim->SetRunState(Animation::Running, 0.0); 317 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
311 EXPECT_FALSE(anim->IsFinishedAt(0.0)); 318 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
312 EXPECT_FALSE(anim->IsFinishedAt(0.5)); 319 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5)));
313 EXPECT_FALSE(anim->IsFinishedAt(1.0)); 320 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
314 EXPECT_FALSE(anim->IsFinishedAt(1.5)); 321 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.5)));
315 } 322 }
316 323
317 TEST(AnimationTest, IsFinishedNegativeTimeOffset) { 324 TEST(AnimationTest, IsFinishedNegativeTimeOffset) {
318 scoped_ptr<Animation> anim(CreateAnimation(1)); 325 scoped_ptr<Animation> anim(CreateAnimation(1));
319 anim->set_time_offset(-0.5); 326 anim->set_time_offset(TimeDelta::FromMilliseconds(-500));
320 anim->SetRunState(Animation::Running, 0.0); 327 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
321 328
322 EXPECT_FALSE(anim->IsFinishedAt(-1.0)); 329 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
323 EXPECT_FALSE(anim->IsFinishedAt(0.0)); 330 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
324 EXPECT_FALSE(anim->IsFinishedAt(0.5)); 331 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5)));
325 EXPECT_FALSE(anim->IsFinishedAt(1.0)); 332 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
326 EXPECT_TRUE(anim->IsFinishedAt(1.5)); 333 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.5)));
327 EXPECT_TRUE(anim->IsFinishedAt(2.0)); 334 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0)));
328 EXPECT_TRUE(anim->IsFinishedAt(2.5)); 335 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.5)));
329 } 336 }
330 337
331 TEST(AnimationTest, IsFinishedPositiveTimeOffset) { 338 TEST(AnimationTest, IsFinishedPositiveTimeOffset) {
332 scoped_ptr<Animation> anim(CreateAnimation(1)); 339 scoped_ptr<Animation> anim(CreateAnimation(1));
333 anim->set_time_offset(0.5); 340 anim->set_time_offset(TimeDelta::FromMilliseconds(500));
334 anim->SetRunState(Animation::Running, 0.0); 341 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
335 342
336 EXPECT_FALSE(anim->IsFinishedAt(-1.0)); 343 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
337 EXPECT_FALSE(anim->IsFinishedAt(0.0)); 344 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
338 EXPECT_TRUE(anim->IsFinishedAt(0.5)); 345 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.5)));
339 EXPECT_TRUE(anim->IsFinishedAt(1.0)); 346 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
340 } 347 }
341 348
342 TEST(AnimationTest, IsFinishedAtNotRunning) { 349 TEST(AnimationTest, IsFinishedAtNotRunning) {
343 scoped_ptr<Animation> anim(CreateAnimation(0)); 350 scoped_ptr<Animation> anim(CreateAnimation(0));
344 anim->SetRunState(Animation::Running, 0.0); 351 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
345 EXPECT_TRUE(anim->IsFinishedAt(0.0)); 352 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
346 anim->SetRunState(Animation::Paused, 0.0); 353 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.0));
347 EXPECT_FALSE(anim->IsFinishedAt(0.0)); 354 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
348 anim->SetRunState(Animation::WaitingForTargetAvailability, 0.0); 355 anim->SetRunState(Animation::WaitingForTargetAvailability,
349 EXPECT_FALSE(anim->IsFinishedAt(0.0)); 356 TicksFromSecondsF(0.0));
350 anim->SetRunState(Animation::Finished, 0.0); 357 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
351 EXPECT_TRUE(anim->IsFinishedAt(0.0)); 358 anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
352 anim->SetRunState(Animation::Aborted, 0.0); 359 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
353 EXPECT_TRUE(anim->IsFinishedAt(0.0)); 360 anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0));
361 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
354 } 362 }
355 363
356 TEST(AnimationTest, IsFinished) { 364 TEST(AnimationTest, IsFinished) {
357 scoped_ptr<Animation> anim(CreateAnimation(1)); 365 scoped_ptr<Animation> anim(CreateAnimation(1));
358 anim->SetRunState(Animation::Running, 0.0); 366 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
359 EXPECT_FALSE(anim->is_finished()); 367 EXPECT_FALSE(anim->is_finished());
360 anim->SetRunState(Animation::Paused, 0.0); 368 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.0));
361 EXPECT_FALSE(anim->is_finished()); 369 EXPECT_FALSE(anim->is_finished());
362 anim->SetRunState(Animation::WaitingForTargetAvailability, 0.0); 370 anim->SetRunState(Animation::WaitingForTargetAvailability,
363 EXPECT_FALSE(anim->is_finished()); 371 TicksFromSecondsF(0.0));
364 anim->SetRunState(Animation::Finished, 0.0); 372 EXPECT_FALSE(anim->is_finished());
373 anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
365 EXPECT_TRUE(anim->is_finished()); 374 EXPECT_TRUE(anim->is_finished());
366 anim->SetRunState(Animation::Aborted, 0.0); 375 anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0));
367 EXPECT_TRUE(anim->is_finished()); 376 EXPECT_TRUE(anim->is_finished());
368 } 377 }
369 378
370 TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime) { 379 TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime) {
371 scoped_ptr<Animation> anim(CreateAnimation(1)); 380 scoped_ptr<Animation> anim(CreateAnimation(1));
372 anim->SetRunState(Animation::Running, 2.0); 381 anim->SetRunState(Animation::Running, TicksFromSecondsF(2.0));
373 EXPECT_FALSE(anim->is_finished()); 382 EXPECT_FALSE(anim->is_finished());
374 anim->SetRunState(Animation::Paused, 2.0); 383 anim->SetRunState(Animation::Paused, TicksFromSecondsF(2.0));
375 EXPECT_FALSE(anim->is_finished()); 384 EXPECT_FALSE(anim->is_finished());
376 anim->SetRunState(Animation::WaitingForTargetAvailability, 2.0); 385 anim->SetRunState(Animation::WaitingForTargetAvailability,
377 EXPECT_FALSE(anim->is_finished()); 386 TicksFromSecondsF(2.0));
378 anim->SetRunState(Animation::Finished, 0.0); 387 EXPECT_FALSE(anim->is_finished());
388 anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
379 EXPECT_TRUE(anim->is_finished()); 389 EXPECT_TRUE(anim->is_finished());
380 anim->SetRunState(Animation::Aborted, 0.0); 390 anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0));
381 EXPECT_TRUE(anim->is_finished()); 391 EXPECT_TRUE(anim->is_finished());
382 } 392 }
383 393
384 TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended) { 394 TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended) {
385 scoped_ptr<Animation> anim(CreateAnimation(1)); 395 scoped_ptr<Animation> anim(CreateAnimation(1));
386 anim->Suspend(0); 396 anim->Suspend(TicksFromSecondsF(0));
387 EXPECT_EQ(Animation::Paused, anim->run_state()); 397 EXPECT_EQ(Animation::Paused, anim->run_state());
388 anim->SetRunState(Animation::Running, 0.0); 398 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
389 EXPECT_EQ(Animation::Paused, anim->run_state()); 399 EXPECT_EQ(Animation::Paused, anim->run_state());
390 anim->Resume(0); 400 anim->Resume(TicksFromSecondsF(0));
391 anim->SetRunState(Animation::Running, 0.0); 401 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
392 EXPECT_EQ(Animation::Running, anim->run_state()); 402 EXPECT_EQ(Animation::Running, anim->run_state());
393 } 403 }
394 404
395 } // namespace 405 } // namespace
396 } // namespace cc 406 } // namespace cc
OLDNEW
« no previous file with comments | « cc/animation/animation_events.cc ('k') | cc/animation/layer_animation_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698