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

Side by Side Diff: cc/animation_unittest.cc

Issue 11636051: Rename ActiveAnimation -> Animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « cc/animation_events.h ('k') | cc/cc.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "cc/animation.h"
6
7 #include "cc/test/animation_test_common.h"
8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace cc {
12 namespace {
13
14 scoped_ptr<Animation> createAnimation(int iterations, double duration)
15 {
16 scoped_ptr<Animation> toReturn(Animation::create(make_scoped_ptr(new FakeFlo atAnimationCurve(duration)).PassAs<AnimationCurve>(), 0, 1, Animation::Opacity)) ;
17 toReturn->setIterations(iterations);
18 return toReturn.Pass();
19 }
20
21 scoped_ptr<Animation> createAnimation(int iterations)
22 {
23 return createAnimation(iterations, 1);
24 }
25
26 TEST(AnimationTest, TrimTimeZeroIterations)
27 {
28 scoped_ptr<Animation> anim(createAnimation(0));
29 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(-1));
30 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
31 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(1));
32 }
33
34 TEST(AnimationTest, TrimTimeOneIteration)
35 {
36 scoped_ptr<Animation> anim(createAnimation(1));
37 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(-1));
38 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
39 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
40 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(2));
41 }
42
43 TEST(AnimationTest, TrimTimeInfiniteIterations)
44 {
45 scoped_ptr<Animation> anim(createAnimation(-1));
46 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
47 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
48 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(1));
49 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1.5));
50 }
51
52 TEST(AnimationTest, TrimTimeAlternating)
53 {
54 scoped_ptr<Animation> anim(createAnimation(-1));
55 anim->setAlternatesDirection(true);
56 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
57 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
58 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
59 EXPECT_EQ(0.75, anim->trimTimeToCurrentIteration(1.25));
60 }
61
62 TEST(AnimationTest, TrimTimeStartTime)
63 {
64 scoped_ptr<Animation> anim(createAnimation(1));
65 anim->setStartTime(4);
66 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
67 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(4));
68 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(4.5));
69 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(5));
70 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(6));
71 }
72
73 TEST(AnimationTest, TrimTimeTimeOffset)
74 {
75 scoped_ptr<Animation> anim(createAnimation(1));
76 anim->setTimeOffset(4);
77 anim->setStartTime(4);
78 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
79 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
80 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
81 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
82 }
83
84 TEST(AnimationTest, TrimTimePauseResume)
85 {
86 scoped_ptr<Animation> anim(createAnimation(1));
87 anim->setRunState(Animation::Running, 0);
88 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
89 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
90 anim->setRunState(Animation::Paused, 0.5);
91 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
92 anim->setRunState(Animation::Running, 1024);
93 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
94 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1024.5));
95 }
96
97 TEST(AnimationTest, TrimTimeSuspendResume)
98 {
99 scoped_ptr<Animation> anim(createAnimation(1));
100 anim->setRunState(Animation::Running, 0);
101 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
102 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
103 anim->suspend(0.5);
104 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
105 anim->resume(1024);
106 EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
107 EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1024.5));
108 }
109
110 TEST(AnimationTest, TrimTimeZeroDuration)
111 {
112 scoped_ptr<Animation> anim(createAnimation(0, 0));
113 anim->setRunState(Animation::Running, 0);
114 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(-1));
115 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
116 EXPECT_EQ(0, anim->trimTimeToCurrentIteration(1));
117 }
118
119 TEST(AnimationTest, IsFinishedAtZeroIterations)
120 {
121 scoped_ptr<Animation> anim(createAnimation(0));
122 anim->setRunState(Animation::Running, 0);
123 EXPECT_FALSE(anim->isFinishedAt(-1));
124 EXPECT_TRUE(anim->isFinishedAt(0));
125 EXPECT_TRUE(anim->isFinishedAt(1));
126 }
127
128 TEST(AnimationTest, IsFinishedAtOneIteration)
129 {
130 scoped_ptr<Animation> anim(createAnimation(1));
131 anim->setRunState(Animation::Running, 0);
132 EXPECT_FALSE(anim->isFinishedAt(-1));
133 EXPECT_FALSE(anim->isFinishedAt(0));
134 EXPECT_TRUE(anim->isFinishedAt(1));
135 EXPECT_TRUE(anim->isFinishedAt(2));
136 }
137
138 TEST(AnimationTest, IsFinishedAtInfiniteIterations)
139 {
140 scoped_ptr<Animation> anim(createAnimation(-1));
141 anim->setRunState(Animation::Running, 0);
142 EXPECT_FALSE(anim->isFinishedAt(0));
143 EXPECT_FALSE(anim->isFinishedAt(0.5));
144 EXPECT_FALSE(anim->isFinishedAt(1));
145 EXPECT_FALSE(anim->isFinishedAt(1.5));
146 }
147
148 TEST(AnimationTest, IsFinishedAtNotRunning)
149 {
150 scoped_ptr<Animation> anim(createAnimation(0));
151 anim->setRunState(Animation::Running, 0);
152 EXPECT_TRUE(anim->isFinishedAt(0));
153 anim->setRunState(Animation::Paused, 0);
154 EXPECT_FALSE(anim->isFinishedAt(0));
155 anim->setRunState(Animation::WaitingForNextTick, 0);
156 EXPECT_FALSE(anim->isFinishedAt(0));
157 anim->setRunState(Animation::WaitingForTargetAvailability, 0);
158 EXPECT_FALSE(anim->isFinishedAt(0));
159 anim->setRunState(Animation::WaitingForStartTime, 0);
160 EXPECT_FALSE(anim->isFinishedAt(0));
161 anim->setRunState(Animation::Finished, 0);
162 EXPECT_TRUE(anim->isFinishedAt(0));
163 anim->setRunState(Animation::Aborted, 0);
164 EXPECT_TRUE(anim->isFinishedAt(0));
165 }
166
167 TEST(AnimationTest, IsFinished)
168 {
169 scoped_ptr<Animation> anim(createAnimation(1));
170 anim->setRunState(Animation::Running, 0);
171 EXPECT_FALSE(anim->isFinished());
172 anim->setRunState(Animation::Paused, 0);
173 EXPECT_FALSE(anim->isFinished());
174 anim->setRunState(Animation::WaitingForNextTick, 0);
175 EXPECT_FALSE(anim->isFinished());
176 anim->setRunState(Animation::WaitingForTargetAvailability, 0);
177 EXPECT_FALSE(anim->isFinished());
178 anim->setRunState(Animation::WaitingForStartTime, 0);
179 EXPECT_FALSE(anim->isFinished());
180 anim->setRunState(Animation::Finished, 0);
181 EXPECT_TRUE(anim->isFinished());
182 anim->setRunState(Animation::Aborted, 0);
183 EXPECT_TRUE(anim->isFinished());
184 }
185
186 TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime)
187 {
188 scoped_ptr<Animation> anim(createAnimation(1));
189 anim->setRunState(Animation::Running, 2);
190 EXPECT_FALSE(anim->isFinished());
191 anim->setRunState(Animation::Paused, 2);
192 EXPECT_FALSE(anim->isFinished());
193 anim->setRunState(Animation::WaitingForNextTick, 2);
194 EXPECT_FALSE(anim->isFinished());
195 anim->setRunState(Animation::WaitingForTargetAvailability, 2);
196 EXPECT_FALSE(anim->isFinished());
197 anim->setRunState(Animation::WaitingForStartTime, 2);
198 EXPECT_FALSE(anim->isFinished());
199 anim->setRunState(Animation::Finished, 0);
200 EXPECT_TRUE(anim->isFinished());
201 anim->setRunState(Animation::Aborted, 0);
202 EXPECT_TRUE(anim->isFinished());
203 }
204
205 TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended)
206 {
207 scoped_ptr<Animation> anim(createAnimation(1));
208 anim->suspend(0);
209 EXPECT_EQ(Animation::Paused, anim->runState());
210 anim->setRunState(Animation::Running, 0);
211 EXPECT_EQ(Animation::Paused, anim->runState());
212 anim->resume(0);
213 anim->setRunState(Animation::Running, 0);
214 EXPECT_EQ(Animation::Running, anim->runState());
215 }
216
217 } // namespace
218 } // namespace cc
OLDNEW
« no previous file with comments | « cc/animation_events.h ('k') | cc/cc.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698