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