OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |