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