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

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

Powered by Google App Engine
This is Rietveld 408576698