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

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

Issue 225073004: Oilpan: Completely move core/animations/ to oilpan's heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/animation/TimedItem.idl ('k') | Source/core/animation/TimedItemTiming.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 m_eventTriggered = false; 49 m_eventTriggered = false;
50 } 50 }
51 bool eventTriggered() { return m_eventTriggered; } 51 bool eventTriggered() { return m_eventTriggered; }
52 52
53 private: 53 private:
54 bool m_eventTriggered; 54 bool m_eventTriggered;
55 }; 55 };
56 56
57 class TestTimedItem : public TimedItem { 57 class TestTimedItem : public TimedItem {
58 public: 58 public:
59 static PassRefPtr<TestTimedItem> create(const Timing& specified) 59 static PassRefPtrWillBeRawPtr<TestTimedItem> create(const Timing& specified)
60 { 60 {
61 return adoptRef(new TestTimedItem(specified, new TestTimedItemEventDeleg ate())); 61 return adoptRefWillBeNoop(new TestTimedItem(specified, new TestTimedItem EventDelegate()));
62 } 62 }
63 63
64 void updateInheritedTime(double time) 64 void updateInheritedTime(double time)
65 { 65 {
66 updateInheritedTime(time, TimingUpdateForAnimationFrame); 66 updateInheritedTime(time, TimingUpdateForAnimationFrame);
67 } 67 }
68 68
69 void updateInheritedTime(double time, TimingUpdateReason reason) 69 void updateInheritedTime(double time, TimingUpdateReason reason)
70 { 70 {
71 m_eventDelegate->reset(); 71 m_eventDelegate->reset();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 104
105 TestTimedItemEventDelegate* m_eventDelegate; 105 TestTimedItemEventDelegate* m_eventDelegate;
106 mutable double m_localTime; 106 mutable double m_localTime;
107 mutable double m_timeToNextIteration; 107 mutable double m_timeToNextIteration;
108 }; 108 };
109 109
110 TEST(AnimationTimedItemTest, Sanity) 110 TEST(AnimationTimedItemTest, Sanity)
111 { 111 {
112 Timing timing; 112 Timing timing;
113 timing.iterationDuration = 2; 113 timing.iterationDuration = 2;
114 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 114 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
115 115
116 EXPECT_EQ(0, timedItem->startTime()); 116 EXPECT_EQ(0, timedItem->startTime());
117 117
118 timedItem->updateInheritedTime(0); 118 timedItem->updateInheritedTime(0);
119 119
120 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase()); 120 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase());
121 EXPECT_TRUE(timedItem->isInPlay()); 121 EXPECT_TRUE(timedItem->isInPlay());
122 EXPECT_TRUE(timedItem->isCurrent()); 122 EXPECT_TRUE(timedItem->isCurrent());
123 EXPECT_TRUE(timedItem->isInEffect()); 123 EXPECT_TRUE(timedItem->isInEffect());
124 EXPECT_EQ(0, timedItem->currentIteration()); 124 EXPECT_EQ(0, timedItem->currentIteration());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 EXPECT_EQ(0, timedItem->currentIteration()); 157 EXPECT_EQ(0, timedItem->currentIteration());
158 EXPECT_EQ(0, timedItem->startTime()); 158 EXPECT_EQ(0, timedItem->startTime());
159 EXPECT_EQ(2, timedItem->activeDurationInternal()); 159 EXPECT_EQ(2, timedItem->activeDurationInternal());
160 EXPECT_EQ(1, timedItem->timeFraction()); 160 EXPECT_EQ(1, timedItem->timeFraction());
161 } 161 }
162 162
163 TEST(AnimationTimedItemTest, FillAuto) 163 TEST(AnimationTimedItemTest, FillAuto)
164 { 164 {
165 Timing timing; 165 Timing timing;
166 timing.iterationDuration = 1; 166 timing.iterationDuration = 1;
167 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 167 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
168 168
169 timedItem->updateInheritedTime(-1); 169 timedItem->updateInheritedTime(-1);
170 EXPECT_EQ(0, timedItem->timeFraction()); 170 EXPECT_EQ(0, timedItem->timeFraction());
171 171
172 timedItem->updateInheritedTime(2); 172 timedItem->updateInheritedTime(2);
173 EXPECT_EQ(1, timedItem->timeFraction()); 173 EXPECT_EQ(1, timedItem->timeFraction());
174 } 174 }
175 175
176 TEST(AnimationTimedItemTest, FillForwards) 176 TEST(AnimationTimedItemTest, FillForwards)
177 { 177 {
178 Timing timing; 178 Timing timing;
179 timing.iterationDuration = 1; 179 timing.iterationDuration = 1;
180 timing.fillMode = Timing::FillModeForwards; 180 timing.fillMode = Timing::FillModeForwards;
181 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 181 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
182 182
183 timedItem->updateInheritedTime(-1); 183 timedItem->updateInheritedTime(-1);
184 EXPECT_TRUE(isNull(timedItem->timeFraction())); 184 EXPECT_TRUE(isNull(timedItem->timeFraction()));
185 185
186 timedItem->updateInheritedTime(2); 186 timedItem->updateInheritedTime(2);
187 EXPECT_EQ(1, timedItem->timeFraction()); 187 EXPECT_EQ(1, timedItem->timeFraction());
188 } 188 }
189 189
190 TEST(AnimationTimedItemTest, FillBackwards) 190 TEST(AnimationTimedItemTest, FillBackwards)
191 { 191 {
192 Timing timing; 192 Timing timing;
193 timing.iterationDuration = 1; 193 timing.iterationDuration = 1;
194 timing.fillMode = Timing::FillModeBackwards; 194 timing.fillMode = Timing::FillModeBackwards;
195 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 195 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
196 196
197 timedItem->updateInheritedTime(-1); 197 timedItem->updateInheritedTime(-1);
198 EXPECT_EQ(0, timedItem->timeFraction()); 198 EXPECT_EQ(0, timedItem->timeFraction());
199 199
200 timedItem->updateInheritedTime(2); 200 timedItem->updateInheritedTime(2);
201 EXPECT_TRUE(isNull(timedItem->timeFraction())); 201 EXPECT_TRUE(isNull(timedItem->timeFraction()));
202 } 202 }
203 203
204 TEST(AnimationTimedItemTest, FillBoth) 204 TEST(AnimationTimedItemTest, FillBoth)
205 { 205 {
206 Timing timing; 206 Timing timing;
207 timing.iterationDuration = 1; 207 timing.iterationDuration = 1;
208 timing.fillMode = Timing::FillModeBoth; 208 timing.fillMode = Timing::FillModeBoth;
209 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 209 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
210 210
211 timedItem->updateInheritedTime(-1); 211 timedItem->updateInheritedTime(-1);
212 EXPECT_EQ(0, timedItem->timeFraction()); 212 EXPECT_EQ(0, timedItem->timeFraction());
213 213
214 timedItem->updateInheritedTime(2); 214 timedItem->updateInheritedTime(2);
215 EXPECT_EQ(1, timedItem->timeFraction()); 215 EXPECT_EQ(1, timedItem->timeFraction());
216 } 216 }
217 217
218 TEST(AnimationTimedItemTest, StartDelay) 218 TEST(AnimationTimedItemTest, StartDelay)
219 { 219 {
220 Timing timing; 220 Timing timing;
221 timing.iterationDuration = 1; 221 timing.iterationDuration = 1;
222 timing.fillMode = Timing::FillModeForwards; 222 timing.fillMode = Timing::FillModeForwards;
223 timing.startDelay = 0.5; 223 timing.startDelay = 0.5;
224 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 224 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
225 225
226 timedItem->updateInheritedTime(0); 226 timedItem->updateInheritedTime(0);
227 EXPECT_TRUE(isNull(timedItem->timeFraction())); 227 EXPECT_TRUE(isNull(timedItem->timeFraction()));
228 228
229 timedItem->updateInheritedTime(0.5); 229 timedItem->updateInheritedTime(0.5);
230 EXPECT_EQ(0, timedItem->timeFraction()); 230 EXPECT_EQ(0, timedItem->timeFraction());
231 231
232 timedItem->updateInheritedTime(1.5); 232 timedItem->updateInheritedTime(1.5);
233 EXPECT_EQ(1, timedItem->timeFraction()); 233 EXPECT_EQ(1, timedItem->timeFraction());
234 } 234 }
235 235
236 TEST(AnimationTimedItemTest, ZeroIteration) 236 TEST(AnimationTimedItemTest, ZeroIteration)
237 { 237 {
238 Timing timing; 238 Timing timing;
239 timing.iterationDuration = 1; 239 timing.iterationDuration = 1;
240 timing.fillMode = Timing::FillModeForwards; 240 timing.fillMode = Timing::FillModeForwards;
241 timing.iterationCount = 0; 241 timing.iterationCount = 0;
242 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 242 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
243 243
244 timedItem->updateInheritedTime(-1); 244 timedItem->updateInheritedTime(-1);
245 EXPECT_EQ(0, timedItem->activeDurationInternal()); 245 EXPECT_EQ(0, timedItem->activeDurationInternal());
246 EXPECT_TRUE(isNull(timedItem->currentIteration())); 246 EXPECT_TRUE(isNull(timedItem->currentIteration()));
247 EXPECT_TRUE(isNull(timedItem->timeFraction())); 247 EXPECT_TRUE(isNull(timedItem->timeFraction()));
248 248
249 timedItem->updateInheritedTime(0); 249 timedItem->updateInheritedTime(0);
250 EXPECT_EQ(0, timedItem->activeDurationInternal()); 250 EXPECT_EQ(0, timedItem->activeDurationInternal());
251 EXPECT_EQ(0, timedItem->currentIteration()); 251 EXPECT_EQ(0, timedItem->currentIteration());
252 EXPECT_EQ(0, timedItem->timeFraction()); 252 EXPECT_EQ(0, timedItem->timeFraction());
253 } 253 }
254 254
255 TEST(AnimationTimedItemTest, InfiniteIteration) 255 TEST(AnimationTimedItemTest, InfiniteIteration)
256 { 256 {
257 Timing timing; 257 Timing timing;
258 timing.iterationDuration = 1; 258 timing.iterationDuration = 1;
259 timing.fillMode = Timing::FillModeForwards; 259 timing.fillMode = Timing::FillModeForwards;
260 timing.iterationCount = std::numeric_limits<double>::infinity(); 260 timing.iterationCount = std::numeric_limits<double>::infinity();
261 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 261 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
262 262
263 timedItem->updateInheritedTime(-1); 263 timedItem->updateInheritedTime(-1);
264 EXPECT_TRUE(isNull(timedItem->currentIteration())); 264 EXPECT_TRUE(isNull(timedItem->currentIteration()));
265 EXPECT_TRUE(isNull(timedItem->timeFraction())); 265 EXPECT_TRUE(isNull(timedItem->timeFraction()));
266 266
267 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal()); 267 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal());
268 268
269 timedItem->updateInheritedTime(0); 269 timedItem->updateInheritedTime(0);
270 EXPECT_EQ(0, timedItem->currentIteration()); 270 EXPECT_EQ(0, timedItem->currentIteration());
271 EXPECT_EQ(0, timedItem->timeFraction()); 271 EXPECT_EQ(0, timedItem->timeFraction());
272 } 272 }
273 273
274 TEST(AnimationTimedItemTest, Iteration) 274 TEST(AnimationTimedItemTest, Iteration)
275 { 275 {
276 Timing timing; 276 Timing timing;
277 timing.iterationCount = 2; 277 timing.iterationCount = 2;
278 timing.iterationDuration = 2; 278 timing.iterationDuration = 2;
279 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 279 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
280 280
281 timedItem->updateInheritedTime(0); 281 timedItem->updateInheritedTime(0);
282 EXPECT_EQ(0, timedItem->currentIteration()); 282 EXPECT_EQ(0, timedItem->currentIteration());
283 EXPECT_EQ(0, timedItem->timeFraction()); 283 EXPECT_EQ(0, timedItem->timeFraction());
284 284
285 timedItem->updateInheritedTime(1); 285 timedItem->updateInheritedTime(1);
286 EXPECT_EQ(0, timedItem->currentIteration()); 286 EXPECT_EQ(0, timedItem->currentIteration());
287 EXPECT_EQ(0.5, timedItem->timeFraction()); 287 EXPECT_EQ(0.5, timedItem->timeFraction());
288 288
289 timedItem->updateInheritedTime(2); 289 timedItem->updateInheritedTime(2);
290 EXPECT_EQ(1, timedItem->currentIteration()); 290 EXPECT_EQ(1, timedItem->currentIteration());
291 EXPECT_EQ(0, timedItem->timeFraction()); 291 EXPECT_EQ(0, timedItem->timeFraction());
292 292
293 timedItem->updateInheritedTime(2); 293 timedItem->updateInheritedTime(2);
294 EXPECT_EQ(1, timedItem->currentIteration()); 294 EXPECT_EQ(1, timedItem->currentIteration());
295 EXPECT_EQ(0, timedItem->timeFraction()); 295 EXPECT_EQ(0, timedItem->timeFraction());
296 296
297 timedItem->updateInheritedTime(5); 297 timedItem->updateInheritedTime(5);
298 EXPECT_EQ(1, timedItem->currentIteration()); 298 EXPECT_EQ(1, timedItem->currentIteration());
299 EXPECT_EQ(1, timedItem->timeFraction()); 299 EXPECT_EQ(1, timedItem->timeFraction());
300 } 300 }
301 301
302 TEST(AnimationTimedItemTest, IterationStart) 302 TEST(AnimationTimedItemTest, IterationStart)
303 { 303 {
304 Timing timing; 304 Timing timing;
305 timing.iterationStart = 1.2; 305 timing.iterationStart = 1.2;
306 timing.iterationCount = 2.2; 306 timing.iterationCount = 2.2;
307 timing.iterationDuration = 1; 307 timing.iterationDuration = 1;
308 timing.fillMode = Timing::FillModeBoth; 308 timing.fillMode = Timing::FillModeBoth;
309 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 309 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
310 310
311 timedItem->updateInheritedTime(-1); 311 timedItem->updateInheritedTime(-1);
312 EXPECT_EQ(1, timedItem->currentIteration()); 312 EXPECT_EQ(1, timedItem->currentIteration());
313 EXPECT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); 313 EXPECT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001);
314 314
315 timedItem->updateInheritedTime(0); 315 timedItem->updateInheritedTime(0);
316 EXPECT_EQ(1, timedItem->currentIteration()); 316 EXPECT_EQ(1, timedItem->currentIteration());
317 EXPECT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); 317 EXPECT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001);
318 318
319 timedItem->updateInheritedTime(10); 319 timedItem->updateInheritedTime(10);
320 EXPECT_EQ(3, timedItem->currentIteration()); 320 EXPECT_EQ(3, timedItem->currentIteration());
321 EXPECT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); 321 EXPECT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001);
322 } 322 }
323 323
324 TEST(AnimationTimedItemTest, IterationAlternate) 324 TEST(AnimationTimedItemTest, IterationAlternate)
325 { 325 {
326 Timing timing; 326 Timing timing;
327 timing.iterationCount = 10; 327 timing.iterationCount = 10;
328 timing.iterationDuration = 1; 328 timing.iterationDuration = 1;
329 timing.direction = Timing::PlaybackDirectionAlternate; 329 timing.direction = Timing::PlaybackDirectionAlternate;
330 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 330 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
331 331
332 timedItem->updateInheritedTime(0.75); 332 timedItem->updateInheritedTime(0.75);
333 EXPECT_EQ(0, timedItem->currentIteration()); 333 EXPECT_EQ(0, timedItem->currentIteration());
334 EXPECT_EQ(0.75, timedItem->timeFraction()); 334 EXPECT_EQ(0.75, timedItem->timeFraction());
335 335
336 timedItem->updateInheritedTime(1.75); 336 timedItem->updateInheritedTime(1.75);
337 EXPECT_EQ(1, timedItem->currentIteration()); 337 EXPECT_EQ(1, timedItem->currentIteration());
338 EXPECT_EQ(0.25, timedItem->timeFraction()); 338 EXPECT_EQ(0.25, timedItem->timeFraction());
339 339
340 timedItem->updateInheritedTime(2.75); 340 timedItem->updateInheritedTime(2.75);
341 EXPECT_EQ(2, timedItem->currentIteration()); 341 EXPECT_EQ(2, timedItem->currentIteration());
342 EXPECT_EQ(0.75, timedItem->timeFraction()); 342 EXPECT_EQ(0.75, timedItem->timeFraction());
343 } 343 }
344 344
345 TEST(AnimationTimedItemTest, IterationAlternateReverse) 345 TEST(AnimationTimedItemTest, IterationAlternateReverse)
346 { 346 {
347 Timing timing; 347 Timing timing;
348 timing.iterationCount = 10; 348 timing.iterationCount = 10;
349 timing.iterationDuration = 1; 349 timing.iterationDuration = 1;
350 timing.direction = Timing::PlaybackDirectionAlternateReverse; 350 timing.direction = Timing::PlaybackDirectionAlternateReverse;
351 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 351 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
352 352
353 timedItem->updateInheritedTime(0.75); 353 timedItem->updateInheritedTime(0.75);
354 EXPECT_EQ(0, timedItem->currentIteration()); 354 EXPECT_EQ(0, timedItem->currentIteration());
355 EXPECT_EQ(0.25, timedItem->timeFraction()); 355 EXPECT_EQ(0.25, timedItem->timeFraction());
356 356
357 timedItem->updateInheritedTime(1.75); 357 timedItem->updateInheritedTime(1.75);
358 EXPECT_EQ(1, timedItem->currentIteration()); 358 EXPECT_EQ(1, timedItem->currentIteration());
359 EXPECT_EQ(0.75, timedItem->timeFraction()); 359 EXPECT_EQ(0.75, timedItem->timeFraction());
360 360
361 timedItem->updateInheritedTime(2.75); 361 timedItem->updateInheritedTime(2.75);
362 EXPECT_EQ(2, timedItem->currentIteration()); 362 EXPECT_EQ(2, timedItem->currentIteration());
363 EXPECT_EQ(0.25, timedItem->timeFraction()); 363 EXPECT_EQ(0.25, timedItem->timeFraction());
364 } 364 }
365 365
366 TEST(AnimationTimedItemTest, ZeroDurationSanity) 366 TEST(AnimationTimedItemTest, ZeroDurationSanity)
367 { 367 {
368 Timing timing; 368 Timing timing;
369 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 369 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
370 370
371 EXPECT_EQ(0, timedItem->startTime()); 371 EXPECT_EQ(0, timedItem->startTime());
372 372
373 timedItem->updateInheritedTime(0); 373 timedItem->updateInheritedTime(0);
374 374
375 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase()); 375 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase());
376 EXPECT_FALSE(timedItem->isInPlay()); 376 EXPECT_FALSE(timedItem->isInPlay());
377 EXPECT_FALSE(timedItem->isCurrent()); 377 EXPECT_FALSE(timedItem->isCurrent());
378 EXPECT_TRUE(timedItem->isInEffect()); 378 EXPECT_TRUE(timedItem->isInEffect());
379 EXPECT_EQ(0, timedItem->currentIteration()); 379 EXPECT_EQ(0, timedItem->currentIteration());
(...skipping 10 matching lines...) Expand all
390 EXPECT_EQ(0, timedItem->currentIteration()); 390 EXPECT_EQ(0, timedItem->currentIteration());
391 EXPECT_EQ(0, timedItem->startTime()); 391 EXPECT_EQ(0, timedItem->startTime());
392 EXPECT_EQ(0, timedItem->activeDurationInternal()); 392 EXPECT_EQ(0, timedItem->activeDurationInternal());
393 EXPECT_EQ(1, timedItem->timeFraction()); 393 EXPECT_EQ(1, timedItem->timeFraction());
394 } 394 }
395 395
396 TEST(AnimationTimedItemTest, ZeroDurationFillForwards) 396 TEST(AnimationTimedItemTest, ZeroDurationFillForwards)
397 { 397 {
398 Timing timing; 398 Timing timing;
399 timing.fillMode = Timing::FillModeForwards; 399 timing.fillMode = Timing::FillModeForwards;
400 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 400 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
401 401
402 timedItem->updateInheritedTime(-1); 402 timedItem->updateInheritedTime(-1);
403 EXPECT_TRUE(isNull(timedItem->timeFraction())); 403 EXPECT_TRUE(isNull(timedItem->timeFraction()));
404 404
405 timedItem->updateInheritedTime(0); 405 timedItem->updateInheritedTime(0);
406 EXPECT_EQ(1, timedItem->timeFraction()); 406 EXPECT_EQ(1, timedItem->timeFraction());
407 407
408 timedItem->updateInheritedTime(1); 408 timedItem->updateInheritedTime(1);
409 EXPECT_EQ(1, timedItem->timeFraction()); 409 EXPECT_EQ(1, timedItem->timeFraction());
410 } 410 }
411 411
412 TEST(AnimationTimedItemTest, ZeroDurationFillBackwards) 412 TEST(AnimationTimedItemTest, ZeroDurationFillBackwards)
413 { 413 {
414 Timing timing; 414 Timing timing;
415 timing.fillMode = Timing::FillModeBackwards; 415 timing.fillMode = Timing::FillModeBackwards;
416 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 416 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
417 417
418 timedItem->updateInheritedTime(-1); 418 timedItem->updateInheritedTime(-1);
419 EXPECT_EQ(0, timedItem->timeFraction()); 419 EXPECT_EQ(0, timedItem->timeFraction());
420 420
421 timedItem->updateInheritedTime(0); 421 timedItem->updateInheritedTime(0);
422 EXPECT_TRUE(isNull(timedItem->timeFraction())); 422 EXPECT_TRUE(isNull(timedItem->timeFraction()));
423 423
424 timedItem->updateInheritedTime(1); 424 timedItem->updateInheritedTime(1);
425 EXPECT_TRUE(isNull(timedItem->timeFraction())); 425 EXPECT_TRUE(isNull(timedItem->timeFraction()));
426 } 426 }
427 427
428 TEST(AnimationTimedItemTest, ZeroDurationFillBoth) 428 TEST(AnimationTimedItemTest, ZeroDurationFillBoth)
429 { 429 {
430 Timing timing; 430 Timing timing;
431 timing.fillMode = Timing::FillModeBoth; 431 timing.fillMode = Timing::FillModeBoth;
432 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 432 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
433 433
434 timedItem->updateInheritedTime(-1); 434 timedItem->updateInheritedTime(-1);
435 EXPECT_EQ(0, timedItem->timeFraction()); 435 EXPECT_EQ(0, timedItem->timeFraction());
436 436
437 timedItem->updateInheritedTime(0); 437 timedItem->updateInheritedTime(0);
438 EXPECT_EQ(1, timedItem->timeFraction()); 438 EXPECT_EQ(1, timedItem->timeFraction());
439 439
440 timedItem->updateInheritedTime(1); 440 timedItem->updateInheritedTime(1);
441 EXPECT_EQ(1, timedItem->timeFraction()); 441 EXPECT_EQ(1, timedItem->timeFraction());
442 } 442 }
443 443
444 TEST(AnimationTimedItemTest, ZeroDurationStartDelay) 444 TEST(AnimationTimedItemTest, ZeroDurationStartDelay)
445 { 445 {
446 Timing timing; 446 Timing timing;
447 timing.fillMode = Timing::FillModeForwards; 447 timing.fillMode = Timing::FillModeForwards;
448 timing.startDelay = 0.5; 448 timing.startDelay = 0.5;
449 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 449 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
450 450
451 timedItem->updateInheritedTime(0); 451 timedItem->updateInheritedTime(0);
452 EXPECT_TRUE(isNull(timedItem->timeFraction())); 452 EXPECT_TRUE(isNull(timedItem->timeFraction()));
453 453
454 timedItem->updateInheritedTime(0.5); 454 timedItem->updateInheritedTime(0.5);
455 EXPECT_EQ(1, timedItem->timeFraction()); 455 EXPECT_EQ(1, timedItem->timeFraction());
456 456
457 timedItem->updateInheritedTime(1.5); 457 timedItem->updateInheritedTime(1.5);
458 EXPECT_EQ(1, timedItem->timeFraction()); 458 EXPECT_EQ(1, timedItem->timeFraction());
459 } 459 }
460 460
461 TEST(AnimationTimedItemTest, ZeroDurationIterationStartAndCount) 461 TEST(AnimationTimedItemTest, ZeroDurationIterationStartAndCount)
462 { 462 {
463 Timing timing; 463 Timing timing;
464 timing.iterationStart = 0.1; 464 timing.iterationStart = 0.1;
465 timing.iterationCount = 0.2; 465 timing.iterationCount = 0.2;
466 timing.fillMode = Timing::FillModeBoth; 466 timing.fillMode = Timing::FillModeBoth;
467 timing.startDelay = 0.3; 467 timing.startDelay = 0.3;
468 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 468 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
469 469
470 timedItem->updateInheritedTime(0); 470 timedItem->updateInheritedTime(0);
471 EXPECT_EQ(0.1, timedItem->timeFraction()); 471 EXPECT_EQ(0.1, timedItem->timeFraction());
472 472
473 timedItem->updateInheritedTime(0.3); 473 timedItem->updateInheritedTime(0.3);
474 EXPECT_DOUBLE_EQ(0.3, timedItem->timeFraction()); 474 EXPECT_DOUBLE_EQ(0.3, timedItem->timeFraction());
475 475
476 timedItem->updateInheritedTime(1); 476 timedItem->updateInheritedTime(1);
477 EXPECT_DOUBLE_EQ(0.3, timedItem->timeFraction()); 477 EXPECT_DOUBLE_EQ(0.3, timedItem->timeFraction());
478 } 478 }
479 479
480 // FIXME: Needs specification work. 480 // FIXME: Needs specification work.
481 TEST(AnimationTimedItemTest, ZeroDurationInfiniteIteration) 481 TEST(AnimationTimedItemTest, ZeroDurationInfiniteIteration)
482 { 482 {
483 Timing timing; 483 Timing timing;
484 timing.fillMode = Timing::FillModeForwards; 484 timing.fillMode = Timing::FillModeForwards;
485 timing.iterationCount = std::numeric_limits<double>::infinity(); 485 timing.iterationCount = std::numeric_limits<double>::infinity();
486 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 486 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
487 487
488 timedItem->updateInheritedTime(-1); 488 timedItem->updateInheritedTime(-1);
489 EXPECT_EQ(0, timedItem->activeDurationInternal()); 489 EXPECT_EQ(0, timedItem->activeDurationInternal());
490 EXPECT_TRUE(isNull(timedItem->currentIteration())); 490 EXPECT_TRUE(isNull(timedItem->currentIteration()));
491 EXPECT_TRUE(isNull(timedItem->timeFraction())); 491 EXPECT_TRUE(isNull(timedItem->timeFraction()));
492 492
493 timedItem->updateInheritedTime(0); 493 timedItem->updateInheritedTime(0);
494 EXPECT_EQ(0, timedItem->activeDurationInternal()); 494 EXPECT_EQ(0, timedItem->activeDurationInternal());
495 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->currentIterati on()); 495 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->currentIterati on());
496 EXPECT_EQ(1, timedItem->timeFraction()); 496 EXPECT_EQ(1, timedItem->timeFraction());
497 } 497 }
498 498
499 TEST(AnimationTimedItemTest, ZeroDurationIteration) 499 TEST(AnimationTimedItemTest, ZeroDurationIteration)
500 { 500 {
501 Timing timing; 501 Timing timing;
502 timing.fillMode = Timing::FillModeForwards; 502 timing.fillMode = Timing::FillModeForwards;
503 timing.iterationCount = 2; 503 timing.iterationCount = 2;
504 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 504 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
505 505
506 timedItem->updateInheritedTime(-1); 506 timedItem->updateInheritedTime(-1);
507 EXPECT_TRUE(isNull(timedItem->currentIteration())); 507 EXPECT_TRUE(isNull(timedItem->currentIteration()));
508 EXPECT_TRUE(isNull(timedItem->timeFraction())); 508 EXPECT_TRUE(isNull(timedItem->timeFraction()));
509 509
510 timedItem->updateInheritedTime(0); 510 timedItem->updateInheritedTime(0);
511 EXPECT_EQ(1, timedItem->currentIteration()); 511 EXPECT_EQ(1, timedItem->currentIteration());
512 EXPECT_EQ(1, timedItem->timeFraction()); 512 EXPECT_EQ(1, timedItem->timeFraction());
513 513
514 timedItem->updateInheritedTime(1); 514 timedItem->updateInheritedTime(1);
515 EXPECT_EQ(1, timedItem->currentIteration()); 515 EXPECT_EQ(1, timedItem->currentIteration());
516 EXPECT_EQ(1, timedItem->timeFraction()); 516 EXPECT_EQ(1, timedItem->timeFraction());
517 } 517 }
518 518
519 TEST(AnimationTimedItemTest, ZeroDurationIterationStart) 519 TEST(AnimationTimedItemTest, ZeroDurationIterationStart)
520 { 520 {
521 Timing timing; 521 Timing timing;
522 timing.iterationStart = 1.2; 522 timing.iterationStart = 1.2;
523 timing.iterationCount = 2.2; 523 timing.iterationCount = 2.2;
524 timing.fillMode = Timing::FillModeBoth; 524 timing.fillMode = Timing::FillModeBoth;
525 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 525 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
526 526
527 timedItem->updateInheritedTime(-1); 527 timedItem->updateInheritedTime(-1);
528 EXPECT_EQ(1, timedItem->currentIteration()); 528 EXPECT_EQ(1, timedItem->currentIteration());
529 EXPECT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); 529 EXPECT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001);
530 530
531 timedItem->updateInheritedTime(0); 531 timedItem->updateInheritedTime(0);
532 EXPECT_EQ(3, timedItem->currentIteration()); 532 EXPECT_EQ(3, timedItem->currentIteration());
533 EXPECT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); 533 EXPECT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001);
534 534
535 timedItem->updateInheritedTime(10); 535 timedItem->updateInheritedTime(10);
536 EXPECT_EQ(3, timedItem->currentIteration()); 536 EXPECT_EQ(3, timedItem->currentIteration());
537 EXPECT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); 537 EXPECT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001);
538 } 538 }
539 539
540 TEST(AnimationTimedItemTest, ZeroDurationIterationAlternate) 540 TEST(AnimationTimedItemTest, ZeroDurationIterationAlternate)
541 { 541 {
542 Timing timing; 542 Timing timing;
543 timing.fillMode = Timing::FillModeForwards; 543 timing.fillMode = Timing::FillModeForwards;
544 timing.iterationCount = 2; 544 timing.iterationCount = 2;
545 timing.direction = Timing::PlaybackDirectionAlternate; 545 timing.direction = Timing::PlaybackDirectionAlternate;
546 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 546 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
547 547
548 timedItem->updateInheritedTime(-1); 548 timedItem->updateInheritedTime(-1);
549 EXPECT_TRUE(isNull(timedItem->currentIteration())); 549 EXPECT_TRUE(isNull(timedItem->currentIteration()));
550 EXPECT_TRUE(isNull(timedItem->timeFraction())); 550 EXPECT_TRUE(isNull(timedItem->timeFraction()));
551 551
552 timedItem->updateInheritedTime(0); 552 timedItem->updateInheritedTime(0);
553 EXPECT_EQ(1, timedItem->currentIteration()); 553 EXPECT_EQ(1, timedItem->currentIteration());
554 EXPECT_EQ(0, timedItem->timeFraction()); 554 EXPECT_EQ(0, timedItem->timeFraction());
555 555
556 timedItem->updateInheritedTime(1); 556 timedItem->updateInheritedTime(1);
557 EXPECT_EQ(1, timedItem->currentIteration()); 557 EXPECT_EQ(1, timedItem->currentIteration());
558 EXPECT_EQ(0, timedItem->timeFraction()); 558 EXPECT_EQ(0, timedItem->timeFraction());
559 } 559 }
560 560
561 TEST(AnimationTimedItemTest, ZeroDurationIterationAlternateReverse) 561 TEST(AnimationTimedItemTest, ZeroDurationIterationAlternateReverse)
562 { 562 {
563 Timing timing; 563 Timing timing;
564 timing.fillMode = Timing::FillModeForwards; 564 timing.fillMode = Timing::FillModeForwards;
565 timing.iterationCount = 2; 565 timing.iterationCount = 2;
566 timing.direction = Timing::PlaybackDirectionAlternateReverse; 566 timing.direction = Timing::PlaybackDirectionAlternateReverse;
567 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 567 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
568 568
569 timedItem->updateInheritedTime(-1); 569 timedItem->updateInheritedTime(-1);
570 EXPECT_TRUE(isNull(timedItem->currentIteration())); 570 EXPECT_TRUE(isNull(timedItem->currentIteration()));
571 EXPECT_TRUE(isNull(timedItem->timeFraction())); 571 EXPECT_TRUE(isNull(timedItem->timeFraction()));
572 572
573 timedItem->updateInheritedTime(0); 573 timedItem->updateInheritedTime(0);
574 EXPECT_EQ(1, timedItem->currentIteration()); 574 EXPECT_EQ(1, timedItem->currentIteration());
575 EXPECT_EQ(1, timedItem->timeFraction()); 575 EXPECT_EQ(1, timedItem->timeFraction());
576 576
577 timedItem->updateInheritedTime(1); 577 timedItem->updateInheritedTime(1);
578 EXPECT_EQ(1, timedItem->currentIteration()); 578 EXPECT_EQ(1, timedItem->currentIteration());
579 EXPECT_EQ(1, timedItem->timeFraction()); 579 EXPECT_EQ(1, timedItem->timeFraction());
580 } 580 }
581 581
582 TEST(AnimationTimedItemTest, InfiniteDurationSanity) 582 TEST(AnimationTimedItemTest, InfiniteDurationSanity)
583 { 583 {
584 Timing timing; 584 Timing timing;
585 timing.iterationDuration = std::numeric_limits<double>::infinity(); 585 timing.iterationDuration = std::numeric_limits<double>::infinity();
586 timing.iterationCount = 1; 586 timing.iterationCount = 1;
587 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 587 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
588 588
589 EXPECT_EQ(0, timedItem->startTime()); 589 EXPECT_EQ(0, timedItem->startTime());
590 590
591 timedItem->updateInheritedTime(0); 591 timedItem->updateInheritedTime(0);
592 592
593 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal()); 593 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal());
594 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase()); 594 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase());
595 EXPECT_TRUE(timedItem->isInPlay()); 595 EXPECT_TRUE(timedItem->isInPlay());
596 EXPECT_TRUE(timedItem->isCurrent()); 596 EXPECT_TRUE(timedItem->isCurrent());
597 EXPECT_TRUE(timedItem->isInEffect()); 597 EXPECT_TRUE(timedItem->isInEffect());
(...skipping 10 matching lines...) Expand all
608 EXPECT_EQ(0, timedItem->currentIteration()); 608 EXPECT_EQ(0, timedItem->currentIteration());
609 EXPECT_EQ(0, timedItem->timeFraction()); 609 EXPECT_EQ(0, timedItem->timeFraction());
610 } 610 }
611 611
612 // FIXME: Needs specification work. 612 // FIXME: Needs specification work.
613 TEST(AnimationTimedItemTest, InfiniteDurationZeroIterations) 613 TEST(AnimationTimedItemTest, InfiniteDurationZeroIterations)
614 { 614 {
615 Timing timing; 615 Timing timing;
616 timing.iterationDuration = std::numeric_limits<double>::infinity(); 616 timing.iterationDuration = std::numeric_limits<double>::infinity();
617 timing.iterationCount = 0; 617 timing.iterationCount = 0;
618 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 618 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
619 619
620 EXPECT_EQ(0, timedItem->startTime()); 620 EXPECT_EQ(0, timedItem->startTime());
621 621
622 timedItem->updateInheritedTime(0); 622 timedItem->updateInheritedTime(0);
623 623
624 EXPECT_EQ(0, timedItem->activeDurationInternal()); 624 EXPECT_EQ(0, timedItem->activeDurationInternal());
625 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase()); 625 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase());
626 EXPECT_FALSE(timedItem->isInPlay()); 626 EXPECT_FALSE(timedItem->isInPlay());
627 EXPECT_FALSE(timedItem->isCurrent()); 627 EXPECT_FALSE(timedItem->isCurrent());
628 EXPECT_TRUE(timedItem->isInEffect()); 628 EXPECT_TRUE(timedItem->isInEffect());
629 EXPECT_EQ(0, timedItem->currentIteration()); 629 EXPECT_EQ(0, timedItem->currentIteration());
630 EXPECT_EQ(0, timedItem->timeFraction()); 630 EXPECT_EQ(0, timedItem->timeFraction());
631 631
632 timedItem->updateInheritedTime(1); 632 timedItem->updateInheritedTime(1);
633 633
634 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase()); 634 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase());
635 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase()); 635 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase());
636 EXPECT_FALSE(timedItem->isInPlay()); 636 EXPECT_FALSE(timedItem->isInPlay());
637 EXPECT_FALSE(timedItem->isCurrent()); 637 EXPECT_FALSE(timedItem->isCurrent());
638 EXPECT_TRUE(timedItem->isInEffect()); 638 EXPECT_TRUE(timedItem->isInEffect());
639 EXPECT_EQ(0, timedItem->currentIteration()); 639 EXPECT_EQ(0, timedItem->currentIteration());
640 EXPECT_EQ(0, timedItem->timeFraction()); 640 EXPECT_EQ(0, timedItem->timeFraction());
641 } 641 }
642 642
643 TEST(AnimationTimedItemTest, InfiniteDurationInfiniteIterations) 643 TEST(AnimationTimedItemTest, InfiniteDurationInfiniteIterations)
644 { 644 {
645 Timing timing; 645 Timing timing;
646 timing.iterationDuration = std::numeric_limits<double>::infinity(); 646 timing.iterationDuration = std::numeric_limits<double>::infinity();
647 timing.iterationCount = std::numeric_limits<double>::infinity(); 647 timing.iterationCount = std::numeric_limits<double>::infinity();
648 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 648 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
649 649
650 EXPECT_EQ(0, timedItem->startTime()); 650 EXPECT_EQ(0, timedItem->startTime());
651 651
652 timedItem->updateInheritedTime(0); 652 timedItem->updateInheritedTime(0);
653 653
654 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal()); 654 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal());
655 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase()); 655 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase());
656 EXPECT_TRUE(timedItem->isInPlay()); 656 EXPECT_TRUE(timedItem->isInPlay());
657 EXPECT_TRUE(timedItem->isCurrent()); 657 EXPECT_TRUE(timedItem->isCurrent());
658 EXPECT_TRUE(timedItem->isInEffect()); 658 EXPECT_TRUE(timedItem->isInEffect());
659 EXPECT_EQ(0, timedItem->currentIteration()); 659 EXPECT_EQ(0, timedItem->currentIteration());
660 EXPECT_EQ(0, timedItem->timeFraction()); 660 EXPECT_EQ(0, timedItem->timeFraction());
661 661
662 timedItem->updateInheritedTime(1); 662 timedItem->updateInheritedTime(1);
663 663
664 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal()); 664 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal());
665 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase()); 665 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase());
666 EXPECT_TRUE(timedItem->isInPlay()); 666 EXPECT_TRUE(timedItem->isInPlay());
667 EXPECT_TRUE(timedItem->isCurrent()); 667 EXPECT_TRUE(timedItem->isCurrent());
668 EXPECT_TRUE(timedItem->isInEffect()); 668 EXPECT_TRUE(timedItem->isInEffect());
669 EXPECT_EQ(0, timedItem->currentIteration()); 669 EXPECT_EQ(0, timedItem->currentIteration());
670 EXPECT_EQ(0, timedItem->timeFraction()); 670 EXPECT_EQ(0, timedItem->timeFraction());
671 } 671 }
672 672
673 TEST(AnimationTimedItemTest, InfiniteDurationZeroPlaybackRate) 673 TEST(AnimationTimedItemTest, InfiniteDurationZeroPlaybackRate)
674 { 674 {
675 Timing timing; 675 Timing timing;
676 timing.iterationDuration = std::numeric_limits<double>::infinity(); 676 timing.iterationDuration = std::numeric_limits<double>::infinity();
677 timing.playbackRate = 0; 677 timing.playbackRate = 0;
678 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 678 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
679 679
680 EXPECT_EQ(0, timedItem->startTime()); 680 EXPECT_EQ(0, timedItem->startTime());
681 681
682 timedItem->updateInheritedTime(0); 682 timedItem->updateInheritedTime(0);
683 683
684 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal()); 684 EXPECT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration Internal());
685 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase()); 685 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase());
686 EXPECT_TRUE(timedItem->isInPlay()); 686 EXPECT_TRUE(timedItem->isInPlay());
687 EXPECT_TRUE(timedItem->isCurrent()); 687 EXPECT_TRUE(timedItem->isCurrent());
688 EXPECT_TRUE(timedItem->isInEffect()); 688 EXPECT_TRUE(timedItem->isInEffect());
(...skipping 11 matching lines...) Expand all
700 EXPECT_EQ(0, timedItem->timeFraction()); 700 EXPECT_EQ(0, timedItem->timeFraction());
701 } 701 }
702 702
703 TEST(AnimationTimedItemTest, EndTime) 703 TEST(AnimationTimedItemTest, EndTime)
704 { 704 {
705 Timing timing; 705 Timing timing;
706 timing.startDelay = 1; 706 timing.startDelay = 1;
707 timing.endDelay = 2; 707 timing.endDelay = 2;
708 timing.iterationDuration = 4; 708 timing.iterationDuration = 4;
709 timing.iterationCount = 2; 709 timing.iterationCount = 2;
710 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 710 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
711 EXPECT_EQ(11, timedItem->endTimeInternal()); 711 EXPECT_EQ(11, timedItem->endTimeInternal());
712 } 712 }
713 713
714 TEST(AnimationTimedItemTest, Events) 714 TEST(AnimationTimedItemTest, Events)
715 { 715 {
716 Timing timing; 716 Timing timing;
717 timing.iterationDuration = 1; 717 timing.iterationDuration = 1;
718 timing.fillMode = Timing::FillModeForwards; 718 timing.fillMode = Timing::FillModeForwards;
719 timing.iterationCount = 2; 719 timing.iterationCount = 2;
720 timing.startDelay = 1; 720 timing.startDelay = 1;
721 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 721 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
722 722
723 timedItem->updateInheritedTime(0.0, TimingUpdateOnDemand); 723 timedItem->updateInheritedTime(0.0, TimingUpdateOnDemand);
724 EXPECT_FALSE(timedItem->eventDelegate()->eventTriggered()); 724 EXPECT_FALSE(timedItem->eventDelegate()->eventTriggered());
725 725
726 timedItem->updateInheritedTime(0.0, TimingUpdateForAnimationFrame); 726 timedItem->updateInheritedTime(0.0, TimingUpdateForAnimationFrame);
727 EXPECT_TRUE(timedItem->eventDelegate()->eventTriggered()); 727 EXPECT_TRUE(timedItem->eventDelegate()->eventTriggered());
728 728
729 timedItem->updateInheritedTime(1.5, TimingUpdateOnDemand); 729 timedItem->updateInheritedTime(1.5, TimingUpdateOnDemand);
730 EXPECT_FALSE(timedItem->eventDelegate()->eventTriggered()); 730 EXPECT_FALSE(timedItem->eventDelegate()->eventTriggered());
731 731
732 timedItem->updateInheritedTime(1.5, TimingUpdateForAnimationFrame); 732 timedItem->updateInheritedTime(1.5, TimingUpdateForAnimationFrame);
733 EXPECT_TRUE(timedItem->eventDelegate()->eventTriggered()); 733 EXPECT_TRUE(timedItem->eventDelegate()->eventTriggered());
734 734
735 } 735 }
736 736
737 TEST(AnimationTimedItemTest, TimeToEffectChange) 737 TEST(AnimationTimedItemTest, TimeToEffectChange)
738 { 738 {
739 Timing timing; 739 Timing timing;
740 timing.iterationDuration = 1; 740 timing.iterationDuration = 1;
741 timing.fillMode = Timing::FillModeForwards; 741 timing.fillMode = Timing::FillModeForwards;
742 timing.iterationStart = 0.2; 742 timing.iterationStart = 0.2;
743 timing.iterationCount = 2.5; 743 timing.iterationCount = 2.5;
744 timing.startDelay = 1; 744 timing.startDelay = 1;
745 timing.direction = Timing::PlaybackDirectionAlternate; 745 timing.direction = Timing::PlaybackDirectionAlternate;
746 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); 746 RefPtrWillBeRawPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
747 747
748 timedItem->updateInheritedTime(0); 748 timedItem->updateInheritedTime(0);
749 EXPECT_EQ(0, timedItem->takeLocalTime()); 749 EXPECT_EQ(0, timedItem->takeLocalTime());
750 EXPECT_TRUE(std::isinf(timedItem->takeTimeToNextIteration())); 750 EXPECT_TRUE(std::isinf(timedItem->takeTimeToNextIteration()));
751 751
752 // Normal iteration. 752 // Normal iteration.
753 timedItem->updateInheritedTime(1.75); 753 timedItem->updateInheritedTime(1.75);
754 EXPECT_EQ(1.75, timedItem->takeLocalTime()); 754 EXPECT_EQ(1.75, timedItem->takeLocalTime());
755 EXPECT_NEAR(0.05, timedItem->takeTimeToNextIteration(), 0.000000000000001); 755 EXPECT_NEAR(0.05, timedItem->takeTimeToNextIteration(), 0.000000000000001);
756 756
757 // Reverse iteration. 757 // Reverse iteration.
758 timedItem->updateInheritedTime(2.75); 758 timedItem->updateInheritedTime(2.75);
759 EXPECT_EQ(2.75, timedItem->takeLocalTime()); 759 EXPECT_EQ(2.75, timedItem->takeLocalTime());
760 EXPECT_NEAR(0.05, timedItem->takeTimeToNextIteration(), 0.000000000000001); 760 EXPECT_NEAR(0.05, timedItem->takeTimeToNextIteration(), 0.000000000000001);
761 761
762 // Item ends before iteration finishes. 762 // Item ends before iteration finishes.
763 timedItem->updateInheritedTime(3.4); 763 timedItem->updateInheritedTime(3.4);
764 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase()); 764 EXPECT_EQ(TimedItem::PhaseActive, timedItem->phase());
765 EXPECT_EQ(3.4, timedItem->takeLocalTime()); 765 EXPECT_EQ(3.4, timedItem->takeLocalTime());
766 EXPECT_TRUE(std::isinf(timedItem->takeTimeToNextIteration())); 766 EXPECT_TRUE(std::isinf(timedItem->takeTimeToNextIteration()));
767 767
768 // Item has finished. 768 // Item has finished.
769 timedItem->updateInheritedTime(3.5); 769 timedItem->updateInheritedTime(3.5);
770 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase()); 770 EXPECT_EQ(TimedItem::PhaseAfter, timedItem->phase());
771 EXPECT_EQ(3.5, timedItem->takeLocalTime()); 771 EXPECT_EQ(3.5, timedItem->takeLocalTime());
772 EXPECT_TRUE(std::isinf(timedItem->takeTimeToNextIteration())); 772 EXPECT_TRUE(std::isinf(timedItem->takeTimeToNextIteration()));
773 } 773 }
774 774
775 } 775 }
OLDNEW
« no previous file with comments | « Source/core/animation/TimedItem.idl ('k') | Source/core/animation/TimedItemTiming.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698