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

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

Issue 1944603003: Make AnimationEffectReadOnly.getComputedTiming() consistent with Web Animations spec (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 mutable double m_localTime; 114 mutable double m_localTime;
115 mutable double m_timeToNextIteration; 115 mutable double m_timeToNextIteration;
116 }; 116 };
117 117
118 TEST(AnimationAnimationEffectTest, Sanity) 118 TEST(AnimationAnimationEffectTest, Sanity)
119 { 119 {
120 Timing timing; 120 Timing timing;
121 timing.iterationDuration = 2; 121 timing.iterationDuration = 2;
122 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 122 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
123 123
124 EXPECT_EQ(0, animationNode->computedTiming().startTime());
125
126 animationNode->updateInheritedTime(0); 124 animationNode->updateInheritedTime(0);
127 125
128 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 126 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
129 EXPECT_TRUE(animationNode->isInPlay()); 127 EXPECT_TRUE(animationNode->isInPlay());
130 EXPECT_TRUE(animationNode->isCurrent()); 128 EXPECT_TRUE(animationNode->isCurrent());
131 EXPECT_TRUE(animationNode->isInEffect()); 129 EXPECT_TRUE(animationNode->isInEffect());
132 EXPECT_EQ(0, animationNode->currentIteration()); 130 EXPECT_EQ(0, animationNode->currentIteration());
133 EXPECT_EQ(0, animationNode->computedTiming().startTime());
134 EXPECT_EQ(2, animationNode->activeDurationInternal()); 131 EXPECT_EQ(2, animationNode->activeDurationInternal());
135 EXPECT_EQ(0, animationNode->timeFraction()); 132 EXPECT_EQ(0, animationNode->progress());
136 133
137 animationNode->updateInheritedTime(1); 134 animationNode->updateInheritedTime(1);
138 135
139 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 136 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
140 EXPECT_TRUE(animationNode->isInPlay()); 137 EXPECT_TRUE(animationNode->isInPlay());
141 EXPECT_TRUE(animationNode->isCurrent()); 138 EXPECT_TRUE(animationNode->isCurrent());
142 EXPECT_TRUE(animationNode->isInEffect()); 139 EXPECT_TRUE(animationNode->isInEffect());
143 EXPECT_EQ(0, animationNode->currentIteration()); 140 EXPECT_EQ(0, animationNode->currentIteration());
144 EXPECT_EQ(0, animationNode->computedTiming().startTime());
145 EXPECT_EQ(2, animationNode->activeDurationInternal()); 141 EXPECT_EQ(2, animationNode->activeDurationInternal());
146 EXPECT_EQ(0.5, animationNode->timeFraction()); 142 EXPECT_EQ(0.5, animationNode->progress());
147 143
148 animationNode->updateInheritedTime(2); 144 animationNode->updateInheritedTime(2);
149 145
150 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 146 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
151 EXPECT_FALSE(animationNode->isInPlay()); 147 EXPECT_FALSE(animationNode->isInPlay());
152 EXPECT_FALSE(animationNode->isCurrent()); 148 EXPECT_FALSE(animationNode->isCurrent());
153 EXPECT_TRUE(animationNode->isInEffect()); 149 EXPECT_TRUE(animationNode->isInEffect());
154 EXPECT_EQ(0, animationNode->currentIteration()); 150 EXPECT_EQ(0, animationNode->currentIteration());
155 EXPECT_EQ(0, animationNode->computedTiming().startTime());
156 EXPECT_EQ(2, animationNode->activeDurationInternal()); 151 EXPECT_EQ(2, animationNode->activeDurationInternal());
157 EXPECT_EQ(1, animationNode->timeFraction()); 152 EXPECT_EQ(1, animationNode->progress());
158 153
159 animationNode->updateInheritedTime(3); 154 animationNode->updateInheritedTime(3);
160 155
161 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 156 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
162 EXPECT_FALSE(animationNode->isInPlay()); 157 EXPECT_FALSE(animationNode->isInPlay());
163 EXPECT_FALSE(animationNode->isCurrent()); 158 EXPECT_FALSE(animationNode->isCurrent());
164 EXPECT_TRUE(animationNode->isInEffect()); 159 EXPECT_TRUE(animationNode->isInEffect());
165 EXPECT_EQ(0, animationNode->currentIteration()); 160 EXPECT_EQ(0, animationNode->currentIteration());
166 EXPECT_EQ(0, animationNode->computedTiming().startTime());
167 EXPECT_EQ(2, animationNode->activeDurationInternal()); 161 EXPECT_EQ(2, animationNode->activeDurationInternal());
168 EXPECT_EQ(1, animationNode->timeFraction()); 162 EXPECT_EQ(1, animationNode->progress());
169 } 163 }
170 164
171 TEST(AnimationAnimationEffectTest, FillAuto) 165 TEST(AnimationAnimationEffectTest, FillAuto)
172 { 166 {
173 Timing timing; 167 Timing timing;
174 timing.iterationDuration = 1; 168 timing.iterationDuration = 1;
175 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 169 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
176 170
177 animationNode->updateInheritedTime(-1); 171 animationNode->updateInheritedTime(-1);
178 EXPECT_EQ(0, animationNode->timeFraction()); 172 EXPECT_EQ(0, animationNode->progress());
179 173
180 animationNode->updateInheritedTime(2); 174 animationNode->updateInheritedTime(2);
181 EXPECT_EQ(1, animationNode->timeFraction()); 175 EXPECT_EQ(1, animationNode->progress());
182 } 176 }
183 177
184 TEST(AnimationAnimationEffectTest, FillForwards) 178 TEST(AnimationAnimationEffectTest, FillForwards)
185 { 179 {
186 Timing timing; 180 Timing timing;
187 timing.iterationDuration = 1; 181 timing.iterationDuration = 1;
188 timing.fillMode = Timing::FillModeForwards; 182 timing.fillMode = Timing::FillModeForwards;
189 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 183 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
190 184
191 animationNode->updateInheritedTime(-1); 185 animationNode->updateInheritedTime(-1);
192 EXPECT_TRUE(isNull(animationNode->timeFraction())); 186 EXPECT_TRUE(isNull(animationNode->progress()));
193 187
194 animationNode->updateInheritedTime(2); 188 animationNode->updateInheritedTime(2);
195 EXPECT_EQ(1, animationNode->timeFraction()); 189 EXPECT_EQ(1, animationNode->progress());
196 } 190 }
197 191
198 TEST(AnimationAnimationEffectTest, FillBackwards) 192 TEST(AnimationAnimationEffectTest, FillBackwards)
199 { 193 {
200 Timing timing; 194 Timing timing;
201 timing.iterationDuration = 1; 195 timing.iterationDuration = 1;
202 timing.fillMode = Timing::FillModeBackwards; 196 timing.fillMode = Timing::FillModeBackwards;
203 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 197 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
204 198
205 animationNode->updateInheritedTime(-1); 199 animationNode->updateInheritedTime(-1);
206 EXPECT_EQ(0, animationNode->timeFraction()); 200 EXPECT_EQ(0, animationNode->progress());
207 201
208 animationNode->updateInheritedTime(2); 202 animationNode->updateInheritedTime(2);
209 EXPECT_TRUE(isNull(animationNode->timeFraction())); 203 EXPECT_TRUE(isNull(animationNode->progress()));
210 } 204 }
211 205
212 TEST(AnimationAnimationEffectTest, FillBoth) 206 TEST(AnimationAnimationEffectTest, FillBoth)
213 { 207 {
214 Timing timing; 208 Timing timing;
215 timing.iterationDuration = 1; 209 timing.iterationDuration = 1;
216 timing.fillMode = Timing::FillModeBoth; 210 timing.fillMode = Timing::FillModeBoth;
217 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 211 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
218 212
219 animationNode->updateInheritedTime(-1); 213 animationNode->updateInheritedTime(-1);
220 EXPECT_EQ(0, animationNode->timeFraction()); 214 EXPECT_EQ(0, animationNode->progress());
221 215
222 animationNode->updateInheritedTime(2); 216 animationNode->updateInheritedTime(2);
223 EXPECT_EQ(1, animationNode->timeFraction()); 217 EXPECT_EQ(1, animationNode->progress());
224 } 218 }
225 219
226 TEST(AnimationAnimationEffectTest, StartDelay) 220 TEST(AnimationAnimationEffectTest, StartDelay)
227 { 221 {
228 Timing timing; 222 Timing timing;
229 timing.iterationDuration = 1; 223 timing.iterationDuration = 1;
230 timing.fillMode = Timing::FillModeForwards; 224 timing.fillMode = Timing::FillModeForwards;
231 timing.startDelay = 0.5; 225 timing.startDelay = 0.5;
232 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 226 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
233 227
234 animationNode->updateInheritedTime(0); 228 animationNode->updateInheritedTime(0);
235 EXPECT_TRUE(isNull(animationNode->timeFraction())); 229 EXPECT_TRUE(isNull(animationNode->progress()));
236 230
237 animationNode->updateInheritedTime(0.5); 231 animationNode->updateInheritedTime(0.5);
238 EXPECT_EQ(0, animationNode->timeFraction()); 232 EXPECT_EQ(0, animationNode->progress());
239 233
240 animationNode->updateInheritedTime(1.5); 234 animationNode->updateInheritedTime(1.5);
241 EXPECT_EQ(1, animationNode->timeFraction()); 235 EXPECT_EQ(1, animationNode->progress());
242 } 236 }
243 237
244 TEST(AnimationAnimationEffectTest, ZeroIteration) 238 TEST(AnimationAnimationEffectTest, ZeroIteration)
245 { 239 {
246 Timing timing; 240 Timing timing;
247 timing.iterationDuration = 1; 241 timing.iterationDuration = 1;
248 timing.fillMode = Timing::FillModeForwards; 242 timing.fillMode = Timing::FillModeForwards;
249 timing.iterationCount = 0; 243 timing.iterationCount = 0;
250 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 244 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
251 245
252 animationNode->updateInheritedTime(-1); 246 animationNode->updateInheritedTime(-1);
253 EXPECT_EQ(0, animationNode->activeDurationInternal()); 247 EXPECT_EQ(0, animationNode->activeDurationInternal());
254 EXPECT_TRUE(isNull(animationNode->currentIteration())); 248 EXPECT_TRUE(isNull(animationNode->currentIteration()));
255 EXPECT_TRUE(isNull(animationNode->timeFraction())); 249 EXPECT_TRUE(isNull(animationNode->progress()));
256 250
257 animationNode->updateInheritedTime(0); 251 animationNode->updateInheritedTime(0);
258 EXPECT_EQ(0, animationNode->activeDurationInternal()); 252 EXPECT_EQ(0, animationNode->activeDurationInternal());
259 EXPECT_EQ(0, animationNode->currentIteration()); 253 EXPECT_EQ(0, animationNode->currentIteration());
260 EXPECT_EQ(0, animationNode->timeFraction()); 254 EXPECT_EQ(0, animationNode->progress());
261 } 255 }
262 256
263 TEST(AnimationAnimationEffectTest, InfiniteIteration) 257 TEST(AnimationAnimationEffectTest, InfiniteIteration)
264 { 258 {
265 Timing timing; 259 Timing timing;
266 timing.iterationDuration = 1; 260 timing.iterationDuration = 1;
267 timing.fillMode = Timing::FillModeForwards; 261 timing.fillMode = Timing::FillModeForwards;
268 timing.iterationCount = std::numeric_limits<double>::infinity(); 262 timing.iterationCount = std::numeric_limits<double>::infinity();
269 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 263 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
270 264
271 animationNode->updateInheritedTime(-1); 265 animationNode->updateInheritedTime(-1);
272 EXPECT_TRUE(isNull(animationNode->currentIteration())); 266 EXPECT_TRUE(isNull(animationNode->currentIteration()));
273 EXPECT_TRUE(isNull(animationNode->timeFraction())); 267 EXPECT_TRUE(isNull(animationNode->progress()));
274 268
275 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 269 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
276 270
277 animationNode->updateInheritedTime(0); 271 animationNode->updateInheritedTime(0);
278 EXPECT_EQ(0, animationNode->currentIteration()); 272 EXPECT_EQ(0, animationNode->currentIteration());
279 EXPECT_EQ(0, animationNode->timeFraction()); 273 EXPECT_EQ(0, animationNode->progress());
280 } 274 }
281 275
282 TEST(AnimationAnimationEffectTest, Iteration) 276 TEST(AnimationAnimationEffectTest, Iteration)
283 { 277 {
284 Timing timing; 278 Timing timing;
285 timing.iterationCount = 2; 279 timing.iterationCount = 2;
286 timing.iterationDuration = 2; 280 timing.iterationDuration = 2;
287 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 281 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
288 282
289 animationNode->updateInheritedTime(0); 283 animationNode->updateInheritedTime(0);
290 EXPECT_EQ(0, animationNode->currentIteration()); 284 EXPECT_EQ(0, animationNode->currentIteration());
291 EXPECT_EQ(0, animationNode->timeFraction()); 285 EXPECT_EQ(0, animationNode->progress());
292 286
293 animationNode->updateInheritedTime(1); 287 animationNode->updateInheritedTime(1);
294 EXPECT_EQ(0, animationNode->currentIteration()); 288 EXPECT_EQ(0, animationNode->currentIteration());
295 EXPECT_EQ(0.5, animationNode->timeFraction()); 289 EXPECT_EQ(0.5, animationNode->progress());
296 290
297 animationNode->updateInheritedTime(2); 291 animationNode->updateInheritedTime(2);
298 EXPECT_EQ(1, animationNode->currentIteration()); 292 EXPECT_EQ(1, animationNode->currentIteration());
299 EXPECT_EQ(0, animationNode->timeFraction()); 293 EXPECT_EQ(0, animationNode->progress());
300 294
301 animationNode->updateInheritedTime(2); 295 animationNode->updateInheritedTime(2);
302 EXPECT_EQ(1, animationNode->currentIteration()); 296 EXPECT_EQ(1, animationNode->currentIteration());
303 EXPECT_EQ(0, animationNode->timeFraction()); 297 EXPECT_EQ(0, animationNode->progress());
304 298
305 animationNode->updateInheritedTime(5); 299 animationNode->updateInheritedTime(5);
306 EXPECT_EQ(1, animationNode->currentIteration()); 300 EXPECT_EQ(1, animationNode->currentIteration());
307 EXPECT_EQ(1, animationNode->timeFraction()); 301 EXPECT_EQ(1, animationNode->progress());
308 } 302 }
309 303
310 TEST(AnimationAnimationEffectTest, IterationStart) 304 TEST(AnimationAnimationEffectTest, IterationStart)
311 { 305 {
312 Timing timing; 306 Timing timing;
313 timing.iterationStart = 1.2; 307 timing.iterationStart = 1.2;
314 timing.iterationCount = 2.2; 308 timing.iterationCount = 2.2;
315 timing.iterationDuration = 1; 309 timing.iterationDuration = 1;
316 timing.fillMode = Timing::FillModeBoth; 310 timing.fillMode = Timing::FillModeBoth;
317 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 311 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
318 312
319 animationNode->updateInheritedTime(-1); 313 animationNode->updateInheritedTime(-1);
320 EXPECT_EQ(1, animationNode->currentIteration()); 314 EXPECT_EQ(1, animationNode->currentIteration());
321 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001); 315 EXPECT_NEAR(0.2, animationNode->progress(), 0.000000000000001);
322 316
323 animationNode->updateInheritedTime(0); 317 animationNode->updateInheritedTime(0);
324 EXPECT_EQ(1, animationNode->currentIteration()); 318 EXPECT_EQ(1, animationNode->currentIteration());
325 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001); 319 EXPECT_NEAR(0.2, animationNode->progress(), 0.000000000000001);
326 320
327 animationNode->updateInheritedTime(10); 321 animationNode->updateInheritedTime(10);
328 EXPECT_EQ(3, animationNode->currentIteration()); 322 EXPECT_EQ(3, animationNode->currentIteration());
329 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001); 323 EXPECT_NEAR(0.4, animationNode->progress(), 0.000000000000001);
330 } 324 }
331 325
332 TEST(AnimationAnimationEffectTest, IterationAlternate) 326 TEST(AnimationAnimationEffectTest, IterationAlternate)
333 { 327 {
334 Timing timing; 328 Timing timing;
335 timing.iterationCount = 10; 329 timing.iterationCount = 10;
336 timing.iterationDuration = 1; 330 timing.iterationDuration = 1;
337 timing.direction = Timing::PlaybackDirectionAlternate; 331 timing.direction = Timing::PlaybackDirectionAlternate;
338 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 332 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
339 333
340 animationNode->updateInheritedTime(0.75); 334 animationNode->updateInheritedTime(0.75);
341 EXPECT_EQ(0, animationNode->currentIteration()); 335 EXPECT_EQ(0, animationNode->currentIteration());
342 EXPECT_EQ(0.75, animationNode->timeFraction()); 336 EXPECT_EQ(0.75, animationNode->progress());
343 337
344 animationNode->updateInheritedTime(1.75); 338 animationNode->updateInheritedTime(1.75);
345 EXPECT_EQ(1, animationNode->currentIteration()); 339 EXPECT_EQ(1, animationNode->currentIteration());
346 EXPECT_EQ(0.25, animationNode->timeFraction()); 340 EXPECT_EQ(0.25, animationNode->progress());
347 341
348 animationNode->updateInheritedTime(2.75); 342 animationNode->updateInheritedTime(2.75);
349 EXPECT_EQ(2, animationNode->currentIteration()); 343 EXPECT_EQ(2, animationNode->currentIteration());
350 EXPECT_EQ(0.75, animationNode->timeFraction()); 344 EXPECT_EQ(0.75, animationNode->progress());
351 } 345 }
352 346
353 TEST(AnimationAnimationEffectTest, IterationAlternateReverse) 347 TEST(AnimationAnimationEffectTest, IterationAlternateReverse)
354 { 348 {
355 Timing timing; 349 Timing timing;
356 timing.iterationCount = 10; 350 timing.iterationCount = 10;
357 timing.iterationDuration = 1; 351 timing.iterationDuration = 1;
358 timing.direction = Timing::PlaybackDirectionAlternateReverse; 352 timing.direction = Timing::PlaybackDirectionAlternateReverse;
359 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 353 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
360 354
361 animationNode->updateInheritedTime(0.75); 355 animationNode->updateInheritedTime(0.75);
362 EXPECT_EQ(0, animationNode->currentIteration()); 356 EXPECT_EQ(0, animationNode->currentIteration());
363 EXPECT_EQ(0.25, animationNode->timeFraction()); 357 EXPECT_EQ(0.25, animationNode->progress());
364 358
365 animationNode->updateInheritedTime(1.75); 359 animationNode->updateInheritedTime(1.75);
366 EXPECT_EQ(1, animationNode->currentIteration()); 360 EXPECT_EQ(1, animationNode->currentIteration());
367 EXPECT_EQ(0.75, animationNode->timeFraction()); 361 EXPECT_EQ(0.75, animationNode->progress());
368 362
369 animationNode->updateInheritedTime(2.75); 363 animationNode->updateInheritedTime(2.75);
370 EXPECT_EQ(2, animationNode->currentIteration()); 364 EXPECT_EQ(2, animationNode->currentIteration());
371 EXPECT_EQ(0.25, animationNode->timeFraction()); 365 EXPECT_EQ(0.25, animationNode->progress());
372 } 366 }
373 367
374 TEST(AnimationAnimationEffectTest, ZeroDurationSanity) 368 TEST(AnimationAnimationEffectTest, ZeroDurationSanity)
375 { 369 {
376 Timing timing; 370 Timing timing;
377 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 371 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
378 372
379 EXPECT_EQ(0, animationNode->computedTiming().startTime());
380
381 animationNode->updateInheritedTime(0); 373 animationNode->updateInheritedTime(0);
382 374
383 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 375 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
384 EXPECT_FALSE(animationNode->isInPlay()); 376 EXPECT_FALSE(animationNode->isInPlay());
385 EXPECT_FALSE(animationNode->isCurrent()); 377 EXPECT_FALSE(animationNode->isCurrent());
386 EXPECT_TRUE(animationNode->isInEffect()); 378 EXPECT_TRUE(animationNode->isInEffect());
387 EXPECT_EQ(0, animationNode->currentIteration()); 379 EXPECT_EQ(0, animationNode->currentIteration());
388 EXPECT_EQ(0, animationNode->computedTiming().startTime());
389 EXPECT_EQ(0, animationNode->activeDurationInternal()); 380 EXPECT_EQ(0, animationNode->activeDurationInternal());
390 EXPECT_EQ(1, animationNode->timeFraction()); 381 EXPECT_EQ(1, animationNode->progress());
391 382
392 animationNode->updateInheritedTime(1); 383 animationNode->updateInheritedTime(1);
393 384
394 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 385 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
395 EXPECT_FALSE(animationNode->isInPlay()); 386 EXPECT_FALSE(animationNode->isInPlay());
396 EXPECT_FALSE(animationNode->isCurrent()); 387 EXPECT_FALSE(animationNode->isCurrent());
397 EXPECT_TRUE(animationNode->isInEffect()); 388 EXPECT_TRUE(animationNode->isInEffect());
398 EXPECT_EQ(0, animationNode->currentIteration()); 389 EXPECT_EQ(0, animationNode->currentIteration());
399 EXPECT_EQ(0, animationNode->computedTiming().startTime());
400 EXPECT_EQ(0, animationNode->activeDurationInternal()); 390 EXPECT_EQ(0, animationNode->activeDurationInternal());
401 EXPECT_EQ(1, animationNode->timeFraction()); 391 EXPECT_EQ(1, animationNode->progress());
402 } 392 }
403 393
404 TEST(AnimationAnimationEffectTest, ZeroDurationFillForwards) 394 TEST(AnimationAnimationEffectTest, ZeroDurationFillForwards)
405 { 395 {
406 Timing timing; 396 Timing timing;
407 timing.fillMode = Timing::FillModeForwards; 397 timing.fillMode = Timing::FillModeForwards;
408 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 398 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
409 399
410 animationNode->updateInheritedTime(-1); 400 animationNode->updateInheritedTime(-1);
411 EXPECT_TRUE(isNull(animationNode->timeFraction())); 401 EXPECT_TRUE(isNull(animationNode->progress()));
412 402
413 animationNode->updateInheritedTime(0); 403 animationNode->updateInheritedTime(0);
414 EXPECT_EQ(1, animationNode->timeFraction()); 404 EXPECT_EQ(1, animationNode->progress());
415 405
416 animationNode->updateInheritedTime(1); 406 animationNode->updateInheritedTime(1);
417 EXPECT_EQ(1, animationNode->timeFraction()); 407 EXPECT_EQ(1, animationNode->progress());
418 } 408 }
419 409
420 TEST(AnimationAnimationEffectTest, ZeroDurationFillBackwards) 410 TEST(AnimationAnimationEffectTest, ZeroDurationFillBackwards)
421 { 411 {
422 Timing timing; 412 Timing timing;
423 timing.fillMode = Timing::FillModeBackwards; 413 timing.fillMode = Timing::FillModeBackwards;
424 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 414 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
425 415
426 animationNode->updateInheritedTime(-1); 416 animationNode->updateInheritedTime(-1);
427 EXPECT_EQ(0, animationNode->timeFraction()); 417 EXPECT_EQ(0, animationNode->progress());
428 418
429 animationNode->updateInheritedTime(0); 419 animationNode->updateInheritedTime(0);
430 EXPECT_TRUE(isNull(animationNode->timeFraction())); 420 EXPECT_TRUE(isNull(animationNode->progress()));
431 421
432 animationNode->updateInheritedTime(1); 422 animationNode->updateInheritedTime(1);
433 EXPECT_TRUE(isNull(animationNode->timeFraction())); 423 EXPECT_TRUE(isNull(animationNode->progress()));
434 } 424 }
435 425
436 TEST(AnimationAnimationEffectTest, ZeroDurationFillBoth) 426 TEST(AnimationAnimationEffectTest, ZeroDurationFillBoth)
437 { 427 {
438 Timing timing; 428 Timing timing;
439 timing.fillMode = Timing::FillModeBoth; 429 timing.fillMode = Timing::FillModeBoth;
440 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 430 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
441 431
442 animationNode->updateInheritedTime(-1); 432 animationNode->updateInheritedTime(-1);
443 EXPECT_EQ(0, animationNode->timeFraction()); 433 EXPECT_EQ(0, animationNode->progress());
444 434
445 animationNode->updateInheritedTime(0); 435 animationNode->updateInheritedTime(0);
446 EXPECT_EQ(1, animationNode->timeFraction()); 436 EXPECT_EQ(1, animationNode->progress());
447 437
448 animationNode->updateInheritedTime(1); 438 animationNode->updateInheritedTime(1);
449 EXPECT_EQ(1, animationNode->timeFraction()); 439 EXPECT_EQ(1, animationNode->progress());
450 } 440 }
451 441
452 TEST(AnimationAnimationEffectTest, ZeroDurationStartDelay) 442 TEST(AnimationAnimationEffectTest, ZeroDurationStartDelay)
453 { 443 {
454 Timing timing; 444 Timing timing;
455 timing.fillMode = Timing::FillModeForwards; 445 timing.fillMode = Timing::FillModeForwards;
456 timing.startDelay = 0.5; 446 timing.startDelay = 0.5;
457 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 447 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
458 448
459 animationNode->updateInheritedTime(0); 449 animationNode->updateInheritedTime(0);
460 EXPECT_TRUE(isNull(animationNode->timeFraction())); 450 EXPECT_TRUE(isNull(animationNode->progress()));
461 451
462 animationNode->updateInheritedTime(0.5); 452 animationNode->updateInheritedTime(0.5);
463 EXPECT_EQ(1, animationNode->timeFraction()); 453 EXPECT_EQ(1, animationNode->progress());
464 454
465 animationNode->updateInheritedTime(1.5); 455 animationNode->updateInheritedTime(1.5);
466 EXPECT_EQ(1, animationNode->timeFraction()); 456 EXPECT_EQ(1, animationNode->progress());
467 } 457 }
468 458
469 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStartAndCount) 459 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStartAndCount)
470 { 460 {
471 Timing timing; 461 Timing timing;
472 timing.iterationStart = 0.1; 462 timing.iterationStart = 0.1;
473 timing.iterationCount = 0.2; 463 timing.iterationCount = 0.2;
474 timing.fillMode = Timing::FillModeBoth; 464 timing.fillMode = Timing::FillModeBoth;
475 timing.startDelay = 0.3; 465 timing.startDelay = 0.3;
476 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 466 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
477 467
478 animationNode->updateInheritedTime(0); 468 animationNode->updateInheritedTime(0);
479 EXPECT_EQ(0.1, animationNode->timeFraction()); 469 EXPECT_EQ(0.1, animationNode->progress());
480 470
481 animationNode->updateInheritedTime(0.3); 471 animationNode->updateInheritedTime(0.3);
482 EXPECT_DOUBLE_EQ(0.3, animationNode->timeFraction()); 472 EXPECT_DOUBLE_EQ(0.3, animationNode->progress());
483 473
484 animationNode->updateInheritedTime(1); 474 animationNode->updateInheritedTime(1);
485 EXPECT_DOUBLE_EQ(0.3, animationNode->timeFraction()); 475 EXPECT_DOUBLE_EQ(0.3, animationNode->progress());
486 } 476 }
487 477
488 // FIXME: Needs specification work. 478 // FIXME: Needs specification work.
489 TEST(AnimationAnimationEffectTest, ZeroDurationInfiniteIteration) 479 TEST(AnimationAnimationEffectTest, ZeroDurationInfiniteIteration)
490 { 480 {
491 Timing timing; 481 Timing timing;
492 timing.fillMode = Timing::FillModeForwards; 482 timing.fillMode = Timing::FillModeForwards;
493 timing.iterationCount = std::numeric_limits<double>::infinity(); 483 timing.iterationCount = std::numeric_limits<double>::infinity();
494 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 484 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
495 485
496 animationNode->updateInheritedTime(-1); 486 animationNode->updateInheritedTime(-1);
497 EXPECT_EQ(0, animationNode->activeDurationInternal()); 487 EXPECT_EQ(0, animationNode->activeDurationInternal());
498 EXPECT_TRUE(isNull(animationNode->currentIteration())); 488 EXPECT_TRUE(isNull(animationNode->currentIteration()));
499 EXPECT_TRUE(isNull(animationNode->timeFraction())); 489 EXPECT_TRUE(isNull(animationNode->progress()));
500 490
501 animationNode->updateInheritedTime(0); 491 animationNode->updateInheritedTime(0);
502 EXPECT_EQ(0, animationNode->activeDurationInternal()); 492 EXPECT_EQ(0, animationNode->activeDurationInternal());
503 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->currentIte ration()); 493 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->currentIte ration());
504 EXPECT_EQ(1, animationNode->timeFraction()); 494 EXPECT_EQ(1, animationNode->progress());
505 } 495 }
506 496
507 TEST(AnimationAnimationEffectTest, ZeroDurationIteration) 497 TEST(AnimationAnimationEffectTest, ZeroDurationIteration)
508 { 498 {
509 Timing timing; 499 Timing timing;
510 timing.fillMode = Timing::FillModeForwards; 500 timing.fillMode = Timing::FillModeForwards;
511 timing.iterationCount = 2; 501 timing.iterationCount = 2;
512 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 502 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
513 503
514 animationNode->updateInheritedTime(-1); 504 animationNode->updateInheritedTime(-1);
515 EXPECT_TRUE(isNull(animationNode->currentIteration())); 505 EXPECT_TRUE(isNull(animationNode->currentIteration()));
516 EXPECT_TRUE(isNull(animationNode->timeFraction())); 506 EXPECT_TRUE(isNull(animationNode->progress()));
517 507
518 animationNode->updateInheritedTime(0); 508 animationNode->updateInheritedTime(0);
519 EXPECT_EQ(1, animationNode->currentIteration()); 509 EXPECT_EQ(1, animationNode->currentIteration());
520 EXPECT_EQ(1, animationNode->timeFraction()); 510 EXPECT_EQ(1, animationNode->progress());
521 511
522 animationNode->updateInheritedTime(1); 512 animationNode->updateInheritedTime(1);
523 EXPECT_EQ(1, animationNode->currentIteration()); 513 EXPECT_EQ(1, animationNode->currentIteration());
524 EXPECT_EQ(1, animationNode->timeFraction()); 514 EXPECT_EQ(1, animationNode->progress());
525 } 515 }
526 516
527 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStart) 517 TEST(AnimationAnimationEffectTest, ZeroDurationIterationStart)
528 { 518 {
529 Timing timing; 519 Timing timing;
530 timing.iterationStart = 1.2; 520 timing.iterationStart = 1.2;
531 timing.iterationCount = 2.2; 521 timing.iterationCount = 2.2;
532 timing.fillMode = Timing::FillModeBoth; 522 timing.fillMode = Timing::FillModeBoth;
533 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 523 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
534 524
535 animationNode->updateInheritedTime(-1); 525 animationNode->updateInheritedTime(-1);
536 EXPECT_EQ(1, animationNode->currentIteration()); 526 EXPECT_EQ(1, animationNode->currentIteration());
537 EXPECT_NEAR(0.2, animationNode->timeFraction(), 0.000000000000001); 527 EXPECT_NEAR(0.2, animationNode->progress(), 0.000000000000001);
538 528
539 animationNode->updateInheritedTime(0); 529 animationNode->updateInheritedTime(0);
540 EXPECT_EQ(3, animationNode->currentIteration()); 530 EXPECT_EQ(3, animationNode->currentIteration());
541 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001); 531 EXPECT_NEAR(0.4, animationNode->progress(), 0.000000000000001);
542 532
543 animationNode->updateInheritedTime(10); 533 animationNode->updateInheritedTime(10);
544 EXPECT_EQ(3, animationNode->currentIteration()); 534 EXPECT_EQ(3, animationNode->currentIteration());
545 EXPECT_NEAR(0.4, animationNode->timeFraction(), 0.000000000000001); 535 EXPECT_NEAR(0.4, animationNode->progress(), 0.000000000000001);
546 } 536 }
547 537
548 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternate) 538 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternate)
549 { 539 {
550 Timing timing; 540 Timing timing;
551 timing.fillMode = Timing::FillModeForwards; 541 timing.fillMode = Timing::FillModeForwards;
552 timing.iterationCount = 2; 542 timing.iterationCount = 2;
553 timing.direction = Timing::PlaybackDirectionAlternate; 543 timing.direction = Timing::PlaybackDirectionAlternate;
554 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 544 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
555 545
556 animationNode->updateInheritedTime(-1); 546 animationNode->updateInheritedTime(-1);
557 EXPECT_TRUE(isNull(animationNode->currentIteration())); 547 EXPECT_TRUE(isNull(animationNode->currentIteration()));
558 EXPECT_TRUE(isNull(animationNode->timeFraction())); 548 EXPECT_TRUE(isNull(animationNode->progress()));
559 549
560 animationNode->updateInheritedTime(0); 550 animationNode->updateInheritedTime(0);
561 EXPECT_EQ(1, animationNode->currentIteration()); 551 EXPECT_EQ(1, animationNode->currentIteration());
562 EXPECT_EQ(0, animationNode->timeFraction()); 552 EXPECT_EQ(0, animationNode->progress());
563 553
564 animationNode->updateInheritedTime(1); 554 animationNode->updateInheritedTime(1);
565 EXPECT_EQ(1, animationNode->currentIteration()); 555 EXPECT_EQ(1, animationNode->currentIteration());
566 EXPECT_EQ(0, animationNode->timeFraction()); 556 EXPECT_EQ(0, animationNode->progress());
567 } 557 }
568 558
569 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternateReverse) 559 TEST(AnimationAnimationEffectTest, ZeroDurationIterationAlternateReverse)
570 { 560 {
571 Timing timing; 561 Timing timing;
572 timing.fillMode = Timing::FillModeForwards; 562 timing.fillMode = Timing::FillModeForwards;
573 timing.iterationCount = 2; 563 timing.iterationCount = 2;
574 timing.direction = Timing::PlaybackDirectionAlternateReverse; 564 timing.direction = Timing::PlaybackDirectionAlternateReverse;
575 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 565 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
576 566
577 animationNode->updateInheritedTime(-1); 567 animationNode->updateInheritedTime(-1);
578 EXPECT_TRUE(isNull(animationNode->currentIteration())); 568 EXPECT_TRUE(isNull(animationNode->currentIteration()));
579 EXPECT_TRUE(isNull(animationNode->timeFraction())); 569 EXPECT_TRUE(isNull(animationNode->progress()));
580 570
581 animationNode->updateInheritedTime(0); 571 animationNode->updateInheritedTime(0);
582 EXPECT_EQ(1, animationNode->currentIteration()); 572 EXPECT_EQ(1, animationNode->currentIteration());
583 EXPECT_EQ(1, animationNode->timeFraction()); 573 EXPECT_EQ(1, animationNode->progress());
584 574
585 animationNode->updateInheritedTime(1); 575 animationNode->updateInheritedTime(1);
586 EXPECT_EQ(1, animationNode->currentIteration()); 576 EXPECT_EQ(1, animationNode->currentIteration());
587 EXPECT_EQ(1, animationNode->timeFraction()); 577 EXPECT_EQ(1, animationNode->progress());
588 } 578 }
589 579
590 TEST(AnimationAnimationEffectTest, InfiniteDurationSanity) 580 TEST(AnimationAnimationEffectTest, InfiniteDurationSanity)
591 { 581 {
592 Timing timing; 582 Timing timing;
593 timing.iterationDuration = std::numeric_limits<double>::infinity(); 583 timing.iterationDuration = std::numeric_limits<double>::infinity();
594 timing.iterationCount = 1; 584 timing.iterationCount = 1;
595 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 585 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
596 586
597 EXPECT_EQ(0, animationNode->computedTiming().startTime());
598
599 animationNode->updateInheritedTime(0); 587 animationNode->updateInheritedTime(0);
600 588
601 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 589 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
602 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 590 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
603 EXPECT_TRUE(animationNode->isInPlay()); 591 EXPECT_TRUE(animationNode->isInPlay());
604 EXPECT_TRUE(animationNode->isCurrent()); 592 EXPECT_TRUE(animationNode->isCurrent());
605 EXPECT_TRUE(animationNode->isInEffect()); 593 EXPECT_TRUE(animationNode->isInEffect());
606 EXPECT_EQ(0, animationNode->currentIteration()); 594 EXPECT_EQ(0, animationNode->currentIteration());
607 EXPECT_EQ(0, animationNode->timeFraction()); 595 EXPECT_EQ(0, animationNode->progress());
608 596
609 animationNode->updateInheritedTime(1); 597 animationNode->updateInheritedTime(1);
610 598
611 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 599 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
612 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 600 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
613 EXPECT_TRUE(animationNode->isInPlay()); 601 EXPECT_TRUE(animationNode->isInPlay());
614 EXPECT_TRUE(animationNode->isCurrent()); 602 EXPECT_TRUE(animationNode->isCurrent());
615 EXPECT_TRUE(animationNode->isInEffect()); 603 EXPECT_TRUE(animationNode->isInEffect());
616 EXPECT_EQ(0, animationNode->currentIteration()); 604 EXPECT_EQ(0, animationNode->currentIteration());
617 EXPECT_EQ(0, animationNode->timeFraction()); 605 EXPECT_EQ(0, animationNode->progress());
618 } 606 }
619 607
620 // FIXME: Needs specification work. 608 // FIXME: Needs specification work.
621 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroIterations) 609 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroIterations)
622 { 610 {
623 Timing timing; 611 Timing timing;
624 timing.iterationDuration = std::numeric_limits<double>::infinity(); 612 timing.iterationDuration = std::numeric_limits<double>::infinity();
625 timing.iterationCount = 0; 613 timing.iterationCount = 0;
626 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 614 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
627 615
628 EXPECT_EQ(0, animationNode->computedTiming().startTime());
629
630 animationNode->updateInheritedTime(0); 616 animationNode->updateInheritedTime(0);
631 617
632 EXPECT_EQ(0, animationNode->activeDurationInternal()); 618 EXPECT_EQ(0, animationNode->activeDurationInternal());
633 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 619 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
634 EXPECT_FALSE(animationNode->isInPlay()); 620 EXPECT_FALSE(animationNode->isInPlay());
635 EXPECT_FALSE(animationNode->isCurrent()); 621 EXPECT_FALSE(animationNode->isCurrent());
636 EXPECT_TRUE(animationNode->isInEffect()); 622 EXPECT_TRUE(animationNode->isInEffect());
637 EXPECT_EQ(0, animationNode->currentIteration()); 623 EXPECT_EQ(0, animationNode->currentIteration());
638 EXPECT_EQ(0, animationNode->timeFraction()); 624 EXPECT_EQ(0, animationNode->progress());
639 625
640 animationNode->updateInheritedTime(1); 626 animationNode->updateInheritedTime(1);
641 627
642 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 628 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
643 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 629 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
644 EXPECT_FALSE(animationNode->isInPlay()); 630 EXPECT_FALSE(animationNode->isInPlay());
645 EXPECT_FALSE(animationNode->isCurrent()); 631 EXPECT_FALSE(animationNode->isCurrent());
646 EXPECT_TRUE(animationNode->isInEffect()); 632 EXPECT_TRUE(animationNode->isInEffect());
647 EXPECT_EQ(0, animationNode->currentIteration()); 633 EXPECT_EQ(0, animationNode->currentIteration());
648 EXPECT_EQ(0, animationNode->timeFraction()); 634 EXPECT_EQ(0, animationNode->progress());
649 } 635 }
650 636
651 TEST(AnimationAnimationEffectTest, InfiniteDurationInfiniteIterations) 637 TEST(AnimationAnimationEffectTest, InfiniteDurationInfiniteIterations)
652 { 638 {
653 Timing timing; 639 Timing timing;
654 timing.iterationDuration = std::numeric_limits<double>::infinity(); 640 timing.iterationDuration = std::numeric_limits<double>::infinity();
655 timing.iterationCount = std::numeric_limits<double>::infinity(); 641 timing.iterationCount = std::numeric_limits<double>::infinity();
656 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 642 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
657 643
658 EXPECT_EQ(0, animationNode->computedTiming().startTime());
659
660 animationNode->updateInheritedTime(0); 644 animationNode->updateInheritedTime(0);
661 645
662 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 646 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
663 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 647 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
664 EXPECT_TRUE(animationNode->isInPlay()); 648 EXPECT_TRUE(animationNode->isInPlay());
665 EXPECT_TRUE(animationNode->isCurrent()); 649 EXPECT_TRUE(animationNode->isCurrent());
666 EXPECT_TRUE(animationNode->isInEffect()); 650 EXPECT_TRUE(animationNode->isInEffect());
667 EXPECT_EQ(0, animationNode->currentIteration()); 651 EXPECT_EQ(0, animationNode->currentIteration());
668 EXPECT_EQ(0, animationNode->timeFraction()); 652 EXPECT_EQ(0, animationNode->progress());
669 653
670 animationNode->updateInheritedTime(1); 654 animationNode->updateInheritedTime(1);
671 655
672 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 656 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
673 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 657 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
674 EXPECT_TRUE(animationNode->isInPlay()); 658 EXPECT_TRUE(animationNode->isInPlay());
675 EXPECT_TRUE(animationNode->isCurrent()); 659 EXPECT_TRUE(animationNode->isCurrent());
676 EXPECT_TRUE(animationNode->isInEffect()); 660 EXPECT_TRUE(animationNode->isInEffect());
677 EXPECT_EQ(0, animationNode->currentIteration()); 661 EXPECT_EQ(0, animationNode->currentIteration());
678 EXPECT_EQ(0, animationNode->timeFraction()); 662 EXPECT_EQ(0, animationNode->progress());
679 } 663 }
680 664
681 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroPlaybackRate) 665 TEST(AnimationAnimationEffectTest, InfiniteDurationZeroPlaybackRate)
682 { 666 {
683 Timing timing; 667 Timing timing;
684 timing.iterationDuration = std::numeric_limits<double>::infinity(); 668 timing.iterationDuration = std::numeric_limits<double>::infinity();
685 timing.playbackRate = 0; 669 timing.playbackRate = 0;
686 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 670 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
687 671
688 EXPECT_EQ(0, animationNode->computedTiming().startTime());
689
690 animationNode->updateInheritedTime(0); 672 animationNode->updateInheritedTime(0);
691 673
692 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 674 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
693 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase()); 675 EXPECT_EQ(AnimationEffect::PhaseActive, animationNode->getPhase());
694 EXPECT_TRUE(animationNode->isInPlay()); 676 EXPECT_TRUE(animationNode->isInPlay());
695 EXPECT_TRUE(animationNode->isCurrent()); 677 EXPECT_TRUE(animationNode->isCurrent());
696 EXPECT_TRUE(animationNode->isInEffect()); 678 EXPECT_TRUE(animationNode->isInEffect());
697 EXPECT_EQ(0, animationNode->currentIteration()); 679 EXPECT_EQ(0, animationNode->currentIteration());
698 EXPECT_EQ(0, animationNode->timeFraction()); 680 EXPECT_EQ(0, animationNode->progress());
699 681
700 animationNode->updateInheritedTime(std::numeric_limits<double>::infinity()); 682 animationNode->updateInheritedTime(std::numeric_limits<double>::infinity());
701 683
702 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal()); 684 EXPECT_EQ(std::numeric_limits<double>::infinity(), animationNode->activeDura tionInternal());
703 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 685 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
704 EXPECT_FALSE(animationNode->isInPlay()); 686 EXPECT_FALSE(animationNode->isInPlay());
705 EXPECT_FALSE(animationNode->isCurrent()); 687 EXPECT_FALSE(animationNode->isCurrent());
706 EXPECT_TRUE(animationNode->isInEffect()); 688 EXPECT_TRUE(animationNode->isInEffect());
707 EXPECT_EQ(0, animationNode->currentIteration()); 689 EXPECT_EQ(0, animationNode->currentIteration());
708 EXPECT_EQ(0, animationNode->timeFraction()); 690 EXPECT_EQ(0, animationNode->progress());
709 } 691 }
710 692
711 TEST(AnimationAnimationEffectTest, EndTime) 693 TEST(AnimationAnimationEffectTest, EndTime)
712 { 694 {
713 Timing timing; 695 Timing timing;
714 timing.startDelay = 1; 696 timing.startDelay = 1;
715 timing.endDelay = 2; 697 timing.endDelay = 2;
716 timing.iterationDuration = 4; 698 timing.iterationDuration = 4;
717 timing.iterationCount = 2; 699 timing.iterationCount = 2;
718 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing); 700 TestAnimationEffect* animationNode = TestAnimationEffect::create(timing);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration())); 756 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration()));
775 757
776 // Item has finished. 758 // Item has finished.
777 animationNode->updateInheritedTime(3.5); 759 animationNode->updateInheritedTime(3.5);
778 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase()); 760 EXPECT_EQ(AnimationEffect::PhaseAfter, animationNode->getPhase());
779 EXPECT_EQ(3.5, animationNode->takeLocalTime()); 761 EXPECT_EQ(3.5, animationNode->takeLocalTime());
780 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration())); 762 EXPECT_TRUE(std::isinf(animationNode->takeTimeToNextIteration()));
781 } 763 }
782 764
783 } // namespace blink 765 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698