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

Side by Side Diff: Source/core/animation/AnimationEffectTest.cpp

Issue 1318543009: Oilpan: Partially ship Oilpan for core/animations (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 m_eventTriggered = false; 52 m_eventTriggered = false;
53 } 53 }
54 bool eventTriggered() { return m_eventTriggered; } 54 bool eventTriggered() { return m_eventTriggered; }
55 55
56 private: 56 private:
57 bool m_eventTriggered; 57 bool m_eventTriggered;
58 }; 58 };
59 59
60 class TestAnimationEffect : public AnimationEffect { 60 class TestAnimationEffect : public AnimationEffect {
61 public: 61 public:
62 static PassRefPtrWillBeRawPtr<TestAnimationEffect> create(const Timing& spec ified) 62 static TestAnimationEffect* create(const Timing& specified)
63 { 63 {
64 return adoptRefWillBeNoop(new TestAnimationEffect(specified, new TestAni mationEffectEventDelegate())); 64 return new TestAnimationEffect(specified, new TestAnimationEffectEventDe legate());
65 } 65 }
66 66
67 void updateInheritedTime(double time) 67 void updateInheritedTime(double time)
68 { 68 {
69 updateInheritedTime(time, TimingUpdateForAnimationFrame); 69 updateInheritedTime(time, TimingUpdateForAnimationFrame);
70 } 70 }
71 71
72 void updateInheritedTime(double time, TimingUpdateReason reason) 72 void updateInheritedTime(double time, TimingUpdateReason reason)
73 { 73 {
74 m_eventDelegate->reset(); 74 m_eventDelegate->reset();
(...skipping 24 matching lines...) Expand all
99 } 99 }
100 100
101 DEFINE_INLINE_VIRTUAL_TRACE() 101 DEFINE_INLINE_VIRTUAL_TRACE()
102 { 102 {
103 visitor->trace(m_eventDelegate); 103 visitor->trace(m_eventDelegate);
104 AnimationEffect::trace(visitor); 104 AnimationEffect::trace(visitor);
105 } 105 }
106 106
107 private: 107 private:
108 TestAnimationEffect(const Timing& specified, TestAnimationEffectEventDelegat e* eventDelegate) 108 TestAnimationEffect(const Timing& specified, TestAnimationEffectEventDelegat e* eventDelegate)
109 : AnimationEffect(specified, adoptPtrWillBeNoop(eventDelegate)) 109 : AnimationEffect(specified, eventDelegate)
110 , m_eventDelegate(eventDelegate) 110 , m_eventDelegate(eventDelegate)
111 { 111 {
112 } 112 }
113 113
114 RawPtrWillBeMember<TestAnimationEffectEventDelegate> m_eventDelegate; 114 Member<TestAnimationEffectEventDelegate> m_eventDelegate;
115 mutable double m_localTime; 115 mutable double m_localTime;
116 mutable double m_timeToNextIteration; 116 mutable double m_timeToNextIteration;
117 }; 117 };
118 118
119 TEST(AnimationAnimationEffectTest, Sanity) 119 TEST(AnimationAnimationEffectTest, Sanity)
120 { 120 {
121 Timing timing; 121 Timing timing;
122 timing.iterationDuration = 2; 122 timing.iterationDuration = 2;
123 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 123 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
124 124
125 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 125 EXPECT_EQ(0, animationNode->computedTiming().startTime());
126 126
127 animationNode->updateInheritedTime(0); 127 animationNode->updateInheritedTime(0);
128 128
129 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase()); 129 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase());
130 EXPECT_TRUE(animationNode->isInPlay()); 130 EXPECT_TRUE(animationNode->isInPlay());
131 EXPECT_TRUE(animationNode->isCurrent()); 131 EXPECT_TRUE(animationNode->isCurrent());
132 EXPECT_TRUE(animationNode->isInEffect()); 132 EXPECT_TRUE(animationNode->isInEffect());
133 EXPECT_EQ(0, animationNode->currentIteration()); 133 EXPECT_EQ(0, animationNode->currentIteration());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 EXPECT_EQ(0, animationNode->currentIteration()); 166 EXPECT_EQ(0, animationNode->currentIteration());
167 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 167 EXPECT_EQ(0, animationNode->computedTiming().startTime());
168 EXPECT_EQ(2, animationNode->activeDurationInternal()); 168 EXPECT_EQ(2, animationNode->activeDurationInternal());
169 EXPECT_EQ(1, animationNode->timeFraction()); 169 EXPECT_EQ(1, animationNode->timeFraction());
170 } 170 }
171 171
172 TEST(AnimationAnimationEffectTest, FillAuto) 172 TEST(AnimationAnimationEffectTest, FillAuto)
173 { 173 {
174 Timing timing; 174 Timing timing;
175 timing.iterationDuration = 1; 175 timing.iterationDuration = 1;
176 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 176 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
177 177
178 animationNode->updateInheritedTime(-1); 178 animationNode->updateInheritedTime(-1);
179 EXPECT_EQ(0, animationNode->timeFraction()); 179 EXPECT_EQ(0, animationNode->timeFraction());
180 180
181 animationNode->updateInheritedTime(2); 181 animationNode->updateInheritedTime(2);
182 EXPECT_EQ(1, animationNode->timeFraction()); 182 EXPECT_EQ(1, animationNode->timeFraction());
183 } 183 }
184 184
185 TEST(AnimationAnimationEffectTest, FillForwards) 185 TEST(AnimationAnimationEffectTest, FillForwards)
186 { 186 {
187 Timing timing; 187 Timing timing;
188 timing.iterationDuration = 1; 188 timing.iterationDuration = 1;
189 timing.fillMode = Timing::FillModeForwards; 189 timing.fillMode = Timing::FillModeForwards;
190 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 190 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
191 191
192 animationNode->updateInheritedTime(-1); 192 animationNode->updateInheritedTime(-1);
193 EXPECT_TRUE(isNull(animationNode->timeFraction())); 193 EXPECT_TRUE(isNull(animationNode->timeFraction()));
194 194
195 animationNode->updateInheritedTime(2); 195 animationNode->updateInheritedTime(2);
196 EXPECT_EQ(1, animationNode->timeFraction()); 196 EXPECT_EQ(1, animationNode->timeFraction());
197 } 197 }
198 198
199 TEST(AnimationAnimationEffectTest, FillBackwards) 199 TEST(AnimationAnimationEffectTest, FillBackwards)
200 { 200 {
201 Timing timing; 201 Timing timing;
202 timing.iterationDuration = 1; 202 timing.iterationDuration = 1;
203 timing.fillMode = Timing::FillModeBackwards; 203 timing.fillMode = Timing::FillModeBackwards;
204 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 204 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
205 205
206 animationNode->updateInheritedTime(-1); 206 animationNode->updateInheritedTime(-1);
207 EXPECT_EQ(0, animationNode->timeFraction()); 207 EXPECT_EQ(0, animationNode->timeFraction());
208 208
209 animationNode->updateInheritedTime(2); 209 animationNode->updateInheritedTime(2);
210 EXPECT_TRUE(isNull(animationNode->timeFraction())); 210 EXPECT_TRUE(isNull(animationNode->timeFraction()));
211 } 211 }
212 212
213 TEST(AnimationAnimationEffectTest, FillBoth) 213 TEST(AnimationAnimationEffectTest, FillBoth)
214 { 214 {
215 Timing timing; 215 Timing timing;
216 timing.iterationDuration = 1; 216 timing.iterationDuration = 1;
217 timing.fillMode = Timing::FillModeBoth; 217 timing.fillMode = Timing::FillModeBoth;
218 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 218 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
219 219
220 animationNode->updateInheritedTime(-1); 220 animationNode->updateInheritedTime(-1);
221 EXPECT_EQ(0, animationNode->timeFraction()); 221 EXPECT_EQ(0, animationNode->timeFraction());
222 222
223 animationNode->updateInheritedTime(2); 223 animationNode->updateInheritedTime(2);
224 EXPECT_EQ(1, animationNode->timeFraction()); 224 EXPECT_EQ(1, animationNode->timeFraction());
225 } 225 }
226 226
227 TEST(AnimationAnimationEffectTest, StartDelay) 227 TEST(AnimationAnimationEffectTest, StartDelay)
228 { 228 {
229 Timing timing; 229 Timing timing;
230 timing.iterationDuration = 1; 230 timing.iterationDuration = 1;
231 timing.fillMode = Timing::FillModeForwards; 231 timing.fillMode = Timing::FillModeForwards;
232 timing.startDelay = 0.5; 232 timing.startDelay = 0.5;
233 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 233 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
234 234
235 animationNode->updateInheritedTime(0); 235 animationNode->updateInheritedTime(0);
236 EXPECT_TRUE(isNull(animationNode->timeFraction())); 236 EXPECT_TRUE(isNull(animationNode->timeFraction()));
237 237
238 animationNode->updateInheritedTime(0.5); 238 animationNode->updateInheritedTime(0.5);
239 EXPECT_EQ(0, animationNode->timeFraction()); 239 EXPECT_EQ(0, animationNode->timeFraction());
240 240
241 animationNode->updateInheritedTime(1.5); 241 animationNode->updateInheritedTime(1.5);
242 EXPECT_EQ(1, animationNode->timeFraction()); 242 EXPECT_EQ(1, animationNode->timeFraction());
243 } 243 }
244 244
245 TEST(AnimationAnimationEffectTest, ZeroIteration) 245 TEST(AnimationAnimationEffectTest, ZeroIteration)
246 { 246 {
247 Timing timing; 247 Timing timing;
248 timing.iterationDuration = 1; 248 timing.iterationDuration = 1;
249 timing.fillMode = Timing::FillModeForwards; 249 timing.fillMode = Timing::FillModeForwards;
250 timing.iterationCount = 0; 250 timing.iterationCount = 0;
251 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 251 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
252 252
253 animationNode->updateInheritedTime(-1); 253 animationNode->updateInheritedTime(-1);
254 EXPECT_EQ(0, animationNode->activeDurationInternal()); 254 EXPECT_EQ(0, animationNode->activeDurationInternal());
255 EXPECT_TRUE(isNull(animationNode->currentIteration())); 255 EXPECT_TRUE(isNull(animationNode->currentIteration()));
256 EXPECT_TRUE(isNull(animationNode->timeFraction())); 256 EXPECT_TRUE(isNull(animationNode->timeFraction()));
257 257
258 animationNode->updateInheritedTime(0); 258 animationNode->updateInheritedTime(0);
259 EXPECT_EQ(0, animationNode->activeDurationInternal()); 259 EXPECT_EQ(0, animationNode->activeDurationInternal());
260 EXPECT_EQ(0, animationNode->currentIteration()); 260 EXPECT_EQ(0, animationNode->currentIteration());
261 EXPECT_EQ(0, animationNode->timeFraction()); 261 EXPECT_EQ(0, animationNode->timeFraction());
262 } 262 }
263 263
264 TEST(AnimationAnimationEffectTest, InfiniteIteration) 264 TEST(AnimationAnimationEffectTest, InfiniteIteration)
265 { 265 {
266 Timing timing; 266 Timing timing;
267 timing.iterationDuration = 1; 267 timing.iterationDuration = 1;
268 timing.fillMode = Timing::FillModeForwards; 268 timing.fillMode = Timing::FillModeForwards;
269 timing.iterationCount = std::numeric_limits<double>::infinity(); 269 timing.iterationCount = std::numeric_limits<double>::infinity();
270 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 270 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
271 271
272 animationNode->updateInheritedTime(-1); 272 animationNode->updateInheritedTime(-1);
273 EXPECT_TRUE(isNull(animationNode->currentIteration())); 273 EXPECT_TRUE(isNull(animationNode->currentIteration()));
274 EXPECT_TRUE(isNull(animationNode->timeFraction())); 274 EXPECT_TRUE(isNull(animationNode->timeFraction()));
275 275
276 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 276 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
277 277
278 animationNode->updateInheritedTime(0); 278 animationNode->updateInheritedTime(0);
279 EXPECT_EQ(0, animationNode->currentIteration()); 279 EXPECT_EQ(0, animationNode->currentIteration());
280 EXPECT_EQ(0, animationNode->timeFraction()); 280 EXPECT_EQ(0, animationNode->timeFraction());
281 } 281 }
282 282
283 TEST(AnimationAnimationEffectTest, Iteration) 283 TEST(AnimationAnimationEffectTest, Iteration)
284 { 284 {
285 Timing timing; 285 Timing timing;
286 timing.iterationCount = 2; 286 timing.iterationCount = 2;
287 timing.iterationDuration = 2; 287 timing.iterationDuration = 2;
288 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 288 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
289 289
290 animationNode->updateInheritedTime(0); 290 animationNode->updateInheritedTime(0);
291 EXPECT_EQ(0, animationNode->currentIteration()); 291 EXPECT_EQ(0, animationNode->currentIteration());
292 EXPECT_EQ(0, animationNode->timeFraction()); 292 EXPECT_EQ(0, animationNode->timeFraction());
293 293
294 animationNode->updateInheritedTime(1); 294 animationNode->updateInheritedTime(1);
295 EXPECT_EQ(0, animationNode->currentIteration()); 295 EXPECT_EQ(0, animationNode->currentIteration());
296 EXPECT_EQ(0.5, animationNode->timeFraction()); 296 EXPECT_EQ(0.5, animationNode->timeFraction());
297 297
298 animationNode->updateInheritedTime(2); 298 animationNode->updateInheritedTime(2);
299 EXPECT_EQ(1, animationNode->currentIteration()); 299 EXPECT_EQ(1, animationNode->currentIteration());
300 EXPECT_EQ(0, animationNode->timeFraction()); 300 EXPECT_EQ(0, animationNode->timeFraction());
301 301
302 animationNode->updateInheritedTime(2); 302 animationNode->updateInheritedTime(2);
303 EXPECT_EQ(1, animationNode->currentIteration()); 303 EXPECT_EQ(1, animationNode->currentIteration());
304 EXPECT_EQ(0, animationNode->timeFraction()); 304 EXPECT_EQ(0, animationNode->timeFraction());
305 305
306 animationNode->updateInheritedTime(5); 306 animationNode->updateInheritedTime(5);
307 EXPECT_EQ(1, animationNode->currentIteration()); 307 EXPECT_EQ(1, animationNode->currentIteration());
308 EXPECT_EQ(1, animationNode->timeFraction()); 308 EXPECT_EQ(1, animationNode->timeFraction());
309 } 309 }
310 310
311 TEST(AnimationAnimationEffectTest, IterationStart) 311 TEST(AnimationAnimationEffectTest, IterationStart)
312 { 312 {
313 Timing timing; 313 Timing timing;
314 timing.iterationStart = 1.2; 314 timing.iterationStart = 1.2;
315 timing.iterationCount = 2.2; 315 timing.iterationCount = 2.2;
316 timing.iterationDuration = 1; 316 timing.iterationDuration = 1;
317 timing.fillMode = Timing::FillModeBoth; 317 timing.fillMode = Timing::FillModeBoth;
318 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 318 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
319 319
320 animationNode->updateInheritedTime(-1); 320 animationNode->updateInheritedTime(-1);
321 EXPECT_EQ(1, animationNode->currentIteration()); 321 EXPECT_EQ(1, animationNode->currentIteration());
322 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001); 322 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001);
323 323
324 animationNode->updateInheritedTime(0); 324 animationNode->updateInheritedTime(0);
325 EXPECT_EQ(1, animationNode->currentIteration()); 325 EXPECT_EQ(1, animationNode->currentIteration());
326 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001); 326 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001);
327 327
328 animationNode->updateInheritedTime(10); 328 animationNode->updateInheritedTime(10);
329 EXPECT_EQ(3, animationNode->currentIteration()); 329 EXPECT_EQ(3, animationNode->currentIteration());
330 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001); 330 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001);
331 } 331 }
332 332
333 TEST(AnimationAnimationEffectTest, IterationAlternate) 333 TEST(AnimationAnimationEffectTest, IterationAlternate)
334 { 334 {
335 Timing timing; 335 Timing timing;
336 timing.iterationCount = 10; 336 timing.iterationCount = 10;
337 timing.iterationDuration = 1; 337 timing.iterationDuration = 1;
338 timing.direction = Timing::PlaybackDirectionAlternate; 338 timing.direction = Timing::PlaybackDirectionAlternate;
339 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 339 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
340 340
341 animationNode->updateInheritedTime(0.75); 341 animationNode->updateInheritedTime(0.75);
342 EXPECT_EQ(0, animationNode->currentIteration()); 342 EXPECT_EQ(0, animationNode->currentIteration());
343 EXPECT_EQ(0.75, animationNode->timeFraction()); 343 EXPECT_EQ(0.75, animationNode->timeFraction());
344 344
345 animationNode->updateInheritedTime(1.75); 345 animationNode->updateInheritedTime(1.75);
346 EXPECT_EQ(1, animationNode->currentIteration()); 346 EXPECT_EQ(1, animationNode->currentIteration());
347 EXPECT_EQ(0.25, animationNode->timeFraction()); 347 EXPECT_EQ(0.25, animationNode->timeFraction());
348 348
349 animationNode->updateInheritedTime(2.75); 349 animationNode->updateInheritedTime(2.75);
350 EXPECT_EQ(2, animationNode->currentIteration()); 350 EXPECT_EQ(2, animationNode->currentIteration());
351 EXPECT_EQ(0.75, animationNode->timeFraction()); 351 EXPECT_EQ(0.75, animationNode->timeFraction());
352 } 352 }
353 353
354 TEST(AnimationAnimationEffectTest, IterationAlternateReverse) 354 TEST(AnimationAnimationEffectTest, IterationAlternateReverse)
355 { 355 {
356 Timing timing; 356 Timing timing;
357 timing.iterationCount = 10; 357 timing.iterationCount = 10;
358 timing.iterationDuration = 1; 358 timing.iterationDuration = 1;
359 timing.direction = Timing::PlaybackDirectionAlternateReverse; 359 timing.direction = Timing::PlaybackDirectionAlternateReverse;
360 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 360 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
361 361
362 animationNode->updateInheritedTime(0.75); 362 animationNode->updateInheritedTime(0.75);
363 EXPECT_EQ(0, animationNode->currentIteration()); 363 EXPECT_EQ(0, animationNode->currentIteration());
364 EXPECT_EQ(0.25, animationNode->timeFraction()); 364 EXPECT_EQ(0.25, animationNode->timeFraction());
365 365
366 animationNode->updateInheritedTime(1.75); 366 animationNode->updateInheritedTime(1.75);
367 EXPECT_EQ(1, animationNode->currentIteration()); 367 EXPECT_EQ(1, animationNode->currentIteration());
368 EXPECT_EQ(0.75, animationNode->timeFraction()); 368 EXPECT_EQ(0.75, animationNode->timeFraction());
369 369
370 animationNode->updateInheritedTime(2.75); 370 animationNode->updateInheritedTime(2.75);
371 EXPECT_EQ(2, animationNode->currentIteration()); 371 EXPECT_EQ(2, animationNode->currentIteration());
372 EXPECT_EQ(0.25, animationNode->timeFraction()); 372 EXPECT_EQ(0.25, animationNode->timeFraction());
373 } 373 }
374 374
375 TEST(AnimationAnimationEffectTest, ZeroDurationSanity) 375 TEST(AnimationAnimationEffectTest, ZeroDurationSanity)
376 { 376 {
377 Timing timing; 377 Timing timing;
378 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 378 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
379 379
380 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 380 EXPECT_EQ(0, animationNode->computedTiming().startTime());
381 381
382 animationNode->updateInheritedTime(0); 382 animationNode->updateInheritedTime(0);
383 383
384 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase()); 384 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase());
385 EXPECT_FALSE(animationNode->isInPlay()); 385 EXPECT_FALSE(animationNode->isInPlay());
386 EXPECT_FALSE(animationNode->isCurrent()); 386 EXPECT_FALSE(animationNode->isCurrent());
387 EXPECT_TRUE(animationNode->isInEffect()); 387 EXPECT_TRUE(animationNode->isInEffect());
388 EXPECT_EQ(0, animationNode->currentIteration()); 388 EXPECT_EQ(0, animationNode->currentIteration());
(...skipping 10 matching lines...) Expand all
399 EXPECT_EQ(0, animationNode->currentIteration()); 399 EXPECT_EQ(0, animationNode->currentIteration());
400 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 400 EXPECT_EQ(0, animationNode->computedTiming().startTime());
401 EXPECT_EQ(0, animationNode->activeDurationInternal()); 401 EXPECT_EQ(0, animationNode->activeDurationInternal());
402 EXPECT_EQ(1, animationNode->timeFraction()); 402 EXPECT_EQ(1, animationNode->timeFraction());
403 } 403 }
404 404
405 TEST(AnimationAnimationEffectTest, ZeroDurationFillForwards) 405 TEST(AnimationAnimationEffectTest, ZeroDurationFillForwards)
406 { 406 {
407 Timing timing; 407 Timing timing;
408 timing.fillMode = Timing::FillModeForwards; 408 timing.fillMode = Timing::FillModeForwards;
409 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 409 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
410 410
411 animationNode->updateInheritedTime(-1); 411 animationNode->updateInheritedTime(-1);
412 EXPECT_TRUE(isNull(animationNode->timeFraction())); 412 EXPECT_TRUE(isNull(animationNode->timeFraction()));
413 413
414 animationNode->updateInheritedTime(0); 414 animationNode->updateInheritedTime(0);
415 EXPECT_EQ(1, animationNode->timeFraction()); 415 EXPECT_EQ(1, animationNode->timeFraction());
416 416
417 animationNode->updateInheritedTime(1); 417 animationNode->updateInheritedTime(1);
418 EXPECT_EQ(1, animationNode->timeFraction()); 418 EXPECT_EQ(1, animationNode->timeFraction());
419 } 419 }
420 420
421 TEST(AnimationAnimationEffectTest, ZeroDurationFillBackwards) 421 TEST(AnimationAnimationEffectTest, ZeroDurationFillBackwards)
422 { 422 {
423 Timing timing; 423 Timing timing;
424 timing.fillMode = Timing::FillModeBackwards; 424 timing.fillMode = Timing::FillModeBackwards;
425 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 425 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
426 426
427 animationNode->updateInheritedTime(-1); 427 animationNode->updateInheritedTime(-1);
428 EXPECT_EQ(0, animationNode->timeFraction()); 428 EXPECT_EQ(0, animationNode->timeFraction());
429 429
430 animationNode->updateInheritedTime(0); 430 animationNode->updateInheritedTime(0);
431 EXPECT_TRUE(isNull(animationNode->timeFraction())); 431 EXPECT_TRUE(isNull(animationNode->timeFraction()));
432 432
433 animationNode->updateInheritedTime(1); 433 animationNode->updateInheritedTime(1);
434 EXPECT_TRUE(isNull(animationNode->timeFraction())); 434 EXPECT_TRUE(isNull(animationNode->timeFraction()));
435 } 435 }
436 436
437 TEST(AnimationAnimationEffectTest, ZeroDurationFillBoth) 437 TEST(AnimationAnimationEffectTest, ZeroDurationFillBoth)
438 { 438 {
439 Timing timing; 439 Timing timing;
440 timing.fillMode = Timing::FillModeBoth; 440 timing.fillMode = Timing::FillModeBoth;
441 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 441 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
442 442
443 animationNode->updateInheritedTime(-1); 443 animationNode->updateInheritedTime(-1);
444 EXPECT_EQ(0, animationNode->timeFraction()); 444 EXPECT_EQ(0, animationNode->timeFraction());
445 445
446 animationNode->updateInheritedTime(0); 446 animationNode->updateInheritedTime(0);
447 EXPECT_EQ(1, animationNode->timeFraction()); 447 EXPECT_EQ(1, animationNode->timeFraction());
448 448
449 animationNode->updateInheritedTime(1); 449 animationNode->updateInheritedTime(1);
450 EXPECT_EQ(1, animationNode->timeFraction()); 450 EXPECT_EQ(1, animationNode->timeFraction());
451 } 451 }
452 452
453 TEST(AnimationAnimationEffectTest, ZeroDurationStartDelay) 453 TEST(AnimationAnimationEffectTest, ZeroDurationStartDelay)
454 { 454 {
455 Timing timing; 455 Timing timing;
456 timing.fillMode = Timing::FillModeForwards; 456 timing.fillMode = Timing::FillModeForwards;
457 timing.startDelay = 0.5; 457 timing.startDelay = 0.5;
458 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 458 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
459 459
460 animationNode->updateInheritedTime(0); 460 animationNode->updateInheritedTime(0);
461 EXPECT_TRUE(isNull(animationNode->timeFraction())); 461 EXPECT_TRUE(isNull(animationNode->timeFraction()));
462 462
463 animationNode->updateInheritedTime(0.5); 463 animationNode->updateInheritedTime(0.5);
464 EXPECT_EQ(1, animationNode->timeFraction()); 464 EXPECT_EQ(1, animationNode->timeFraction());
465 465
466 animationNode->updateInheritedTime(1.5); 466 animationNode->updateInheritedTime(1.5);
467 EXPECT_EQ(1, animationNode->timeFraction()); 467 EXPECT_EQ(1, animationNode->timeFraction());
468 } 468 }
469 469
470 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStartAndCount) 470 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStartAndCount)
471 { 471 {
472 Timing timing; 472 Timing timing;
473 timing.iterationStart = 0.1; 473 timing.iterationStart = 0.1;
474 timing.iterationCount = 0.2; 474 timing.iterationCount = 0.2;
475 timing.fillMode = Timing::FillModeBoth; 475 timing.fillMode = Timing::FillModeBoth;
476 timing.startDelay = 0.3; 476 timing.startDelay = 0.3;
477 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 477 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
478 478
479 animationNode->updateInheritedTime(0); 479 animationNode->updateInheritedTime(0);
480 EXPECT_EQ(0.1, animationNode->timeFraction()); 480 EXPECT_EQ(0.1, animationNode->timeFraction());
481 481
482 animationNode->updateInheritedTime(0.3); 482 animationNode->updateInheritedTime(0.3);
483 EXPECT_DOUBLE_EQ(0.3, animationNode->timeFraction()); 483 EXPECT_DOUBLE_EQ(0.3, animationNode->timeFraction());
484 484
485 animationNode->updateInheritedTime(1); 485 animationNode->updateInheritedTime(1);
486 EXPECT_DOUBLE_EQ(0.3, animationNode->timeFraction()); 486 EXPECT_DOUBLE_EQ(0.3, animationNode->timeFraction());
487 } 487 }
488 488
489 // FIXME: Needs specification work. 489 // FIXME: Needs specification work.
490 TEST(AnimationAnimationEffectTest, ZeroDurationInfiniteIteration) 490 TEST(AnimationAnimationEffectTest, ZeroDurationInfiniteIteration)
491 { 491 {
492 Timing timing; 492 Timing timing;
493 timing.fillMode = Timing::FillModeForwards; 493 timing.fillMode = Timing::FillModeForwards;
494 timing.iterationCount = std::numeric_limits<double>::infinity(); 494 timing.iterationCount = std::numeric_limits<double>::infinity();
495 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 495 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
496 496
497 animationNode->updateInheritedTime(-1); 497 animationNode->updateInheritedTime(-1);
498 EXPECT_EQ(0, animationNode->activeDurationInternal()); 498 EXPECT_EQ(0, animationNode->activeDurationInternal());
499 EXPECT_TRUE(isNull(animationNode->currentIteration())); 499 EXPECT_TRUE(isNull(animationNode->currentIteration()));
500 EXPECT_TRUE(isNull(animationNode->timeFraction())); 500 EXPECT_TRUE(isNull(animationNode->timeFraction()));
501 501
502 animationNode->updateInheritedTime(0); 502 animationNode->updateInheritedTime(0);
503 EXPECT_EQ(0, animationNode->activeDurationInternal()); 503 EXPECT_EQ(0, animationNode->activeDurationInternal());
504 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->currentIte ration()); 504 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->currentIte ration());
505 EXPECT_EQ(1, animationNode->timeFraction()); 505 EXPECT_EQ(1, animationNode->timeFraction());
506 } 506 }
507 507
508 TEST(AnimationAnimationEffectTest, ZeroDurationIteration) 508 TEST(AnimationAnimationEffectTest, ZeroDurationIteration)
509 { 509 {
510 Timing timing; 510 Timing timing;
511 timing.fillMode = Timing::FillModeForwards; 511 timing.fillMode = Timing::FillModeForwards;
512 timing.iterationCount = 2; 512 timing.iterationCount = 2;
513 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 513 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
514 514
515 animationNode->updateInheritedTime(-1); 515 animationNode->updateInheritedTime(-1);
516 EXPECT_TRUE(isNull(animationNode->currentIteration())); 516 EXPECT_TRUE(isNull(animationNode->currentIteration()));
517 EXPECT_TRUE(isNull(animationNode->timeFraction())); 517 EXPECT_TRUE(isNull(animationNode->timeFraction()));
518 518
519 animationNode->updateInheritedTime(0); 519 animationNode->updateInheritedTime(0);
520 EXPECT_EQ(1, animationNode->currentIteration()); 520 EXPECT_EQ(1, animationNode->currentIteration());
521 EXPECT_EQ(1, animationNode->timeFraction()); 521 EXPECT_EQ(1, animationNode->timeFraction());
522 522
523 animationNode->updateInheritedTime(1); 523 animationNode->updateInheritedTime(1);
524 EXPECT_EQ(1, animationNode->currentIteration()); 524 EXPECT_EQ(1, animationNode->currentIteration());
525 EXPECT_EQ(1, animationNode->timeFraction()); 525 EXPECT_EQ(1, animationNode->timeFraction());
526 } 526 }
527 527
528 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStart) 528 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStart)
529 { 529 {
530 Timing timing; 530 Timing timing;
531 timing.iterationStart = 1.2; 531 timing.iterationStart = 1.2;
532 timing.iterationCount = 2.2; 532 timing.iterationCount = 2.2;
533 timing.fillMode = Timing::FillModeBoth; 533 timing.fillMode = Timing::FillModeBoth;
534 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 534 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
535 535
536 animationNode->updateInheritedTime(-1); 536 animationNode->updateInheritedTime(-1);
537 EXPECT_EQ(1, animationNode->currentIteration()); 537 EXPECT_EQ(1, animationNode->currentIteration());
538 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001); 538 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001);
539 539
540 animationNode->updateInheritedTime(0); 540 animationNode->updateInheritedTime(0);
541 EXPECT_EQ(3, animationNode->currentIteration()); 541 EXPECT_EQ(3, animationNode->currentIteration());
542 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001); 542 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001);
543 543
544 animationNode->updateInheritedTime(10); 544 animationNode->updateInheritedTime(10);
545 EXPECT_EQ(3, animationNode->currentIteration()); 545 EXPECT_EQ(3, animationNode->currentIteration());
546 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001); 546 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001);
547 } 547 }
548 548
549 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternate) 549 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternate)
550 { 550 {
551 Timing timing; 551 Timing timing;
552 timing.fillMode = Timing::FillModeForwards; 552 timing.fillMode = Timing::FillModeForwards;
553 timing.iterationCount = 2; 553 timing.iterationCount = 2;
554 timing.direction = Timing::PlaybackDirectionAlternate; 554 timing.direction = Timing::PlaybackDirectionAlternate;
555 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 555 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
556 556
557 animationNode->updateInheritedTime(-1); 557 animationNode->updateInheritedTime(-1);
558 EXPECT_TRUE(isNull(animationNode->currentIteration())); 558 EXPECT_TRUE(isNull(animationNode->currentIteration()));
559 EXPECT_TRUE(isNull(animationNode->timeFraction())); 559 EXPECT_TRUE(isNull(animationNode->timeFraction()));
560 560
561 animationNode->updateInheritedTime(0); 561 animationNode->updateInheritedTime(0);
562 EXPECT_EQ(1, animationNode->currentIteration()); 562 EXPECT_EQ(1, animationNode->currentIteration());
563 EXPECT_EQ(0, animationNode->timeFraction()); 563 EXPECT_EQ(0, animationNode->timeFraction());
564 564
565 animationNode->updateInheritedTime(1); 565 animationNode->updateInheritedTime(1);
566 EXPECT_EQ(1, animationNode->currentIteration()); 566 EXPECT_EQ(1, animationNode->currentIteration());
567 EXPECT_EQ(0, animationNode->timeFraction()); 567 EXPECT_EQ(0, animationNode->timeFraction());
568 } 568 }
569 569
570 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternateReverse) 570 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternateReverse)
571 { 571 {
572 Timing timing; 572 Timing timing;
573 timing.fillMode = Timing::FillModeForwards; 573 timing.fillMode = Timing::FillModeForwards;
574 timing.iterationCount = 2; 574 timing.iterationCount = 2;
575 timing.direction = Timing::PlaybackDirectionAlternateReverse; 575 timing.direction = Timing::PlaybackDirectionAlternateReverse;
576 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 576 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
577 577
578 animationNode->updateInheritedTime(-1); 578 animationNode->updateInheritedTime(-1);
579 EXPECT_TRUE(isNull(animationNode->currentIteration())); 579 EXPECT_TRUE(isNull(animationNode->currentIteration()));
580 EXPECT_TRUE(isNull(animationNode->timeFraction())); 580 EXPECT_TRUE(isNull(animationNode->timeFraction()));
581 581
582 animationNode->updateInheritedTime(0); 582 animationNode->updateInheritedTime(0);
583 EXPECT_EQ(1, animationNode->currentIteration()); 583 EXPECT_EQ(1, animationNode->currentIteration());
584 EXPECT_EQ(1, animationNode->timeFraction()); 584 EXPECT_EQ(1, animationNode->timeFraction());
585 585
586 animationNode->updateInheritedTime(1); 586 animationNode->updateInheritedTime(1);
587 EXPECT_EQ(1, animationNode->currentIteration()); 587 EXPECT_EQ(1, animationNode->currentIteration());
588 EXPECT_EQ(1, animationNode->timeFraction()); 588 EXPECT_EQ(1, animationNode->timeFraction());
589 } 589 }
590 590
591 TEST(AnimationAnimationEffectTest, InfiniteDurationSanity) 591 TEST(AnimationAnimationEffectTest, InfiniteDurationSanity)
592 { 592 {
593 Timing timing; 593 Timing timing;
594 timing.iterationDuration = std::numeric_limits<double>::infinity(); 594 timing.iterationDuration = std::numeric_limits<double>::infinity();
595 timing.iterationCount = 1; 595 timing.iterationCount = 1;
596 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 596 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
597 597
598 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 598 EXPECT_EQ(0, animationNode->computedTiming().startTime());
599 599
600 animationNode->updateInheritedTime(0); 600 animationNode->updateInheritedTime(0);
601 601
602 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 602 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
603 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase()); 603 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase());
604 EXPECT_TRUE(animationNode->isInPlay()); 604 EXPECT_TRUE(animationNode->isInPlay());
605 EXPECT_TRUE(animationNode->isCurrent()); 605 EXPECT_TRUE(animationNode->isCurrent());
606 EXPECT_TRUE(animationNode->isInEffect()); 606 EXPECT_TRUE(animationNode->isInEffect());
(...skipping 10 matching lines...) Expand all
617 EXPECT_EQ(0, animationNode->currentIteration()); 617 EXPECT_EQ(0, animationNode->currentIteration());
618 EXPECT_EQ(0, animationNode->timeFraction()); 618 EXPECT_EQ(0, animationNode->timeFraction());
619 } 619 }
620 620
621 // FIXME: Needs specification work. 621 // FIXME: Needs specification work.
622 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroIterations) 622 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroIterations)
623 { 623 {
624 Timing timing; 624 Timing timing;
625 timing.iterationDuration = std::numeric_limits<double>::infinity(); 625 timing.iterationDuration = std::numeric_limits<double>::infinity();
626 timing.iterationCount = 0; 626 timing.iterationCount = 0;
627 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 627 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
628 628
629 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 629 EXPECT_EQ(0, animationNode->computedTiming().startTime());
630 630
631 animationNode->updateInheritedTime(0); 631 animationNode->updateInheritedTime(0);
632 632
633 EXPECT_EQ(0, animationNode->activeDurationInternal()); 633 EXPECT_EQ(0, animationNode->activeDurationInternal());
634 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase()); 634 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase());
635 EXPECT_FALSE(animationNode->isInPlay()); 635 EXPECT_FALSE(animationNode->isInPlay());
636 EXPECT_FALSE(animationNode->isCurrent()); 636 EXPECT_FALSE(animationNode->isCurrent());
637 EXPECT_TRUE(animationNode->isInEffect()); 637 EXPECT_TRUE(animationNode->isInEffect());
638 EXPECT_EQ(0, animationNode->currentIteration()); 638 EXPECT_EQ(0, animationNode->currentIteration());
639 EXPECT_EQ(0, animationNode->timeFraction()); 639 EXPECT_EQ(0, animationNode->timeFraction());
640 640
641 animationNode->updateInheritedTime(1); 641 animationNode->updateInheritedTime(1);
642 642
643 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase()); 643 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase());
644 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase()); 644 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase());
645 EXPECT_FALSE(animationNode->isInPlay()); 645 EXPECT_FALSE(animationNode->isInPlay());
646 EXPECT_FALSE(animationNode->isCurrent()); 646 EXPECT_FALSE(animationNode->isCurrent());
647 EXPECT_TRUE(animationNode->isInEffect()); 647 EXPECT_TRUE(animationNode->isInEffect());
648 EXPECT_EQ(0, animationNode->currentIteration()); 648 EXPECT_EQ(0, animationNode->currentIteration());
649 EXPECT_EQ(0, animationNode->timeFraction()); 649 EXPECT_EQ(0, animationNode->timeFraction());
650 } 650 }
651 651
652 TEST(AnimationAnimationEffectTest, InfiniteDurationInfiniteIterations) 652 TEST(AnimationAnimationEffectTest, InfiniteDurationInfiniteIterations)
653 { 653 {
654 Timing timing; 654 Timing timing;
655 timing.iterationDuration = std::numeric_limits<double>::infinity(); 655 timing.iterationDuration = std::numeric_limits<double>::infinity();
656 timing.iterationCount = std::numeric_limits<double>::infinity(); 656 timing.iterationCount = std::numeric_limits<double>::infinity();
657 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 657 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
658 658
659 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 659 EXPECT_EQ(0, animationNode->computedTiming().startTime());
660 660
661 animationNode->updateInheritedTime(0); 661 animationNode->updateInheritedTime(0);
662 662
663 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 663 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
664 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase()); 664 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase());
665 EXPECT_TRUE(animationNode->isInPlay()); 665 EXPECT_TRUE(animationNode->isInPlay());
666 EXPECT_TRUE(animationNode->isCurrent()); 666 EXPECT_TRUE(animationNode->isCurrent());
667 EXPECT_TRUE(animationNode->isInEffect()); 667 EXPECT_TRUE(animationNode->isInEffect());
668 EXPECT_EQ(0, animationNode->currentIteration()); 668 EXPECT_EQ(0, animationNode->currentIteration());
669 EXPECT_EQ(0, animationNode->timeFraction()); 669 EXPECT_EQ(0, animationNode->timeFraction());
670 670
671 animationNode->updateInheritedTime(1); 671 animationNode->updateInheritedTime(1);
672 672
673 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 673 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
674 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase()); 674 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase());
675 EXPECT_TRUE(animationNode->isInPlay()); 675 EXPECT_TRUE(animationNode->isInPlay());
676 EXPECT_TRUE(animationNode->isCurrent()); 676 EXPECT_TRUE(animationNode->isCurrent());
677 EXPECT_TRUE(animationNode->isInEffect()); 677 EXPECT_TRUE(animationNode->isInEffect());
678 EXPECT_EQ(0, animationNode->currentIteration()); 678 EXPECT_EQ(0, animationNode->currentIteration());
679 EXPECT_EQ(0, animationNode->timeFraction()); 679 EXPECT_EQ(0, animationNode->timeFraction());
680 } 680 }
681 681
682 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroPlaybackRate) 682 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroPlaybackRate)
683 { 683 {
684 Timing timing; 684 Timing timing;
685 timing.iterationDuration = std::numeric_limits<double>::infinity(); 685 timing.iterationDuration = std::numeric_limits<double>::infinity();
686 timing.playbackRate = 0; 686 timing.playbackRate = 0;
687 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 687 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
688 688
689 EXPECT_EQ(0, animationNode->computedTiming().startTime()); 689 EXPECT_EQ(0, animationNode->computedTiming().startTime());
690 690
691 animationNode->updateInheritedTime(0); 691 animationNode->updateInheritedTime(0);
692 692
693 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 693 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
694 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase()); 694 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase());
695 EXPECT_TRUE(animationNode->isInPlay()); 695 EXPECT_TRUE(animationNode->isInPlay());
696 EXPECT_TRUE(animationNode->isCurrent()); 696 EXPECT_TRUE(animationNode->isCurrent());
697 EXPECT_TRUE(animationNode->isInEffect()); 697 EXPECT_TRUE(animationNode->isInEffect());
(...skipping 11 matching lines...) Expand all
709 EXPECT_EQ(0, animationNode->timeFraction()); 709 EXPECT_EQ(0, animationNode->timeFraction());
710 } 710 }
711 711
712 TEST(AnimationAnimationEffectTest, EndTime) 712 TEST(AnimationAnimationEffectTest, EndTime)
713 { 713 {
714 Timing timing; 714 Timing timing;
715 timing.startDelay = 1; 715 timing.startDelay = 1;
716 timing.endDelay = 2; 716 timing.endDelay = 2;
717 timing.iterationDuration = 4; 717 timing.iterationDuration = 4;
718 timing.iterationCount = 2; 718 timing.iterationCount = 2;
719 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 719 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
720 EXPECT_EQ(11, animationNode->endTimeInternal()); 720 EXPECT_EQ(11, animationNode->endTimeInternal());
721 } 721 }
722 722
723 TEST(AnimationAnimationEffectTest, Events) 723 TEST(AnimationAnimationEffectTest, Events)
724 { 724 {
725 Timing timing; 725 Timing timing;
726 timing.iterationDuration = 1; 726 timing.iterationDuration = 1;
727 timing.fillMode = Timing::FillModeForwards; 727 timing.fillMode = Timing::FillModeForwards;
728 timing.iterationCount = 2; 728 timing.iterationCount = 2;
729 timing.startDelay = 1; 729 timing.startDelay = 1;
730 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 730 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
731 731
732 animationNode->updateInheritedTime(0.0, TimingUpdateOnDemand); 732 animationNode->updateInheritedTime(0.0, TimingUpdateOnDemand);
733 EXPECT_FALSE(animationNode->eventDelegate()->eventTriggered()); 733 EXPECT_FALSE(animationNode->eventDelegate()->eventTriggered());
734 734
735 animationNode->updateInheritedTime(0.0, TimingUpdateForAnimationFrame); 735 animationNode->updateInheritedTime(0.0, TimingUpdateForAnimationFrame);
736 EXPECT_TRUE(animationNode->eventDelegate()->eventTriggered()); 736 EXPECT_TRUE(animationNode->eventDelegate()->eventTriggered());
737 737
738 animationNode->updateInheritedTime(1.5, TimingUpdateOnDemand); 738 animationNode->updateInheritedTime(1.5, TimingUpdateOnDemand);
739 EXPECT_FALSE(animationNode->eventDelegate()->eventTriggered()); 739 EXPECT_FALSE(animationNode->eventDelegate()->eventTriggered());
740 740
741 animationNode->updateInheritedTime(1.5, TimingUpdateForAnimationFrame); 741 animationNode->updateInheritedTime(1.5, TimingUpdateForAnimationFrame);
742 EXPECT_TRUE(animationNode->eventDelegate()->eventTriggered()); 742 EXPECT_TRUE(animationNode->eventDelegate()->eventTriggered());
743 743
744 } 744 }
745 745
746 TEST(AnimationAnimationEffectTest, TimeToEffectChange) 746 TEST(AnimationAnimationEffectTest, TimeToEffectChange)
747 { 747 {
748 Timing timing; 748 Timing timing;
749 timing.iterationDuration = 1; 749 timing.iterationDuration = 1;
750 timing.fillMode = Timing::FillModeForwards; 750 timing.fillMode = Timing::FillModeForwards;
751 timing.iterationStart = 0.2; 751 timing.iterationStart = 0.2;
752 timing.iterationCount = 2.5; 752 timing.iterationCount = 2.5;
753 timing.startDelay = 1; 753 timing.startDelay = 1;
754 timing.direction = Timing::PlaybackDirectionAlternate; 754 timing.direction = Timing::PlaybackDirectionAlternate;
755 RefPtrWillBeRawPtr<TestAnimationEffect> animationNode = TestAnimationEffect: :create(timing); 755 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
756 756
757 animationNode->updateInheritedTime(0); 757 animationNode->updateInheritedTime(0);
758 EXPECT_EQ(0, animationNode->takeLocalTime()); 758 EXPECT_EQ(0, animationNode->takeLocalTime());
759 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration())); 759 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration()));
760 760
761 // Normal iteration. 761 // Normal iteration.
762 animationNode->updateInheritedTime(1.75); 762 animationNode->updateInheritedTime(1.75);
763 EXPECT_EQ(1.75, animationNode->takeLocalTime()); 763 EXPECT_EQ(1.75, animationNode->takeLocalTime());
764 EXPECT_NEAR(0.05, animationNode->takeTimeToNextIteration(), 0.00000000000000 1); 764 EXPECT_NEAR(0.05, animationNode->takeTimeToNextIteration(), 0.00000000000000 1);
765 765
766 // Reverse iteration. 766 // Reverse iteration.
767 animationNode->updateInheritedTime(2.75); 767 animationNode->updateInheritedTime(2.75);
768 EXPECT_EQ(2.75, animationNode->takeLocalTime()); 768 EXPECT_EQ(2.75, animationNode->takeLocalTime());
769 EXPECT_NEAR(0.05, animationNode->takeTimeToNextIteration(), 0.00000000000000 1); 769 EXPECT_NEAR(0.05, animationNode->takeTimeToNextIteration(), 0.00000000000000 1);
770 770
771 // Item ends before iteration finishes. 771 // Item ends before iteration finishes.
772 animationNode->updateInheritedTime(3.4); 772 animationNode->updateInheritedTime(3.4);
773 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase()); 773 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->phase());
774 EXPECT_EQ(3.4, animationNode->takeLocalTime()); 774 EXPECT_EQ(3.4, animationNode->takeLocalTime());
775 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration())); 775 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration()));
776 776
777 // Item has finished. 777 // Item has finished.
778 animationNode->updateInheritedTime(3.5); 778 animationNode->updateInheritedTime(3.5);
779 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase()); 779 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->phase());
780 EXPECT_EQ(3.5, animationNode->takeLocalTime()); 780 EXPECT_EQ(3.5, animationNode->takeLocalTime());
781 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration())); 781 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration()));
782 } 782 }
783 783
784 } // namespace blink 784 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/animation/AnimationEffectReadOnly.idl ('k') | Source/core/animation/AnimationEffectTiming.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698