| 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 26 matching lines...) Expand all Loading... |
| 37 #include "core/animation/DocumentTimeline.h" | 37 #include "core/animation/DocumentTimeline.h" |
| 38 #include "core/dom/Document.h" | 38 #include "core/dom/Document.h" |
| 39 #include "core/dom/QualifiedName.h" | 39 #include "core/dom/QualifiedName.h" |
| 40 #include "platform/weborigin/KURL.h" | 40 #include "platform/weborigin/KURL.h" |
| 41 #include <gtest/gtest.h> | 41 #include <gtest/gtest.h> |
| 42 | 42 |
| 43 using namespace WebCore; | 43 using namespace WebCore; |
| 44 | 44 |
| 45 namespace { | 45 namespace { |
| 46 | 46 |
| 47 class CoreAnimationPlayerTest : public ::testing::Test { | 47 class AnimationPlayerTest : public ::testing::Test { |
| 48 protected: | 48 protected: |
| 49 virtual void SetUp() | 49 virtual void SetUp() |
| 50 { | 50 { |
| 51 document = Document::create(); | 51 document = Document::create(); |
| 52 document->animationClock().resetTimeForTesting(); | 52 document->animationClock().resetTimeForTesting(); |
| 53 timeline = DocumentTimeline::create(document.get()); | 53 timeline = DocumentTimeline::create(document.get()); |
| 54 player = Player::create(*timeline, 0); | 54 player = Player::create(*timeline, 0); |
| 55 player->setStartTime(0); | 55 player->setStartTime(0); |
| 56 timeline->setZeroTime(0); | 56 timeline->setZeroTime(0); |
| 57 } | 57 } |
| 58 | 58 |
| 59 bool updateTimeline(double time, double* timeToEffectChange = 0) | 59 bool updateTimeline(double time, double* timeToEffectChange = 0) |
| 60 { | 60 { |
| 61 document->animationClock().updateTime(time); | 61 document->animationClock().updateTime(time); |
| 62 // The timeline does not know about our player, so we have to explicitly
call update(). | 62 // The timeline does not know about our player, so we have to explicitly
call update(). |
| 63 return player->update(timeToEffectChange); | 63 return player->update(timeToEffectChange); |
| 64 } | 64 } |
| 65 | 65 |
| 66 RefPtr<Document> document; | 66 RefPtr<Document> document; |
| 67 RefPtr<DocumentTimeline> timeline; | 67 RefPtr<DocumentTimeline> timeline; |
| 68 RefPtr<Player> player; | 68 RefPtr<Player> player; |
| 69 }; | 69 }; |
| 70 | 70 |
| 71 TEST_F(CoreAnimationPlayerTest, InitialState) | 71 TEST_F(AnimationPlayerTest, InitialState) |
| 72 { | 72 { |
| 73 EXPECT_EQ(0, timeline->currentTime()); | 73 EXPECT_EQ(0, timeline->currentTime()); |
| 74 EXPECT_EQ(0, player->currentTime()); | 74 EXPECT_EQ(0, player->currentTime()); |
| 75 EXPECT_FALSE(player->paused()); | 75 EXPECT_FALSE(player->paused()); |
| 76 EXPECT_EQ(1, player->playbackRate()); | 76 EXPECT_EQ(1, player->playbackRate()); |
| 77 EXPECT_EQ(0, player->startTime()); | 77 EXPECT_EQ(0, player->startTime()); |
| 78 EXPECT_EQ(0, player->timeDrift()); | 78 EXPECT_EQ(0, player->timeDrift()); |
| 79 } | 79 } |
| 80 | 80 |
| 81 TEST_F(CoreAnimationPlayerTest, PauseUnpause) | 81 TEST_F(AnimationPlayerTest, PauseUnpause) |
| 82 { | 82 { |
| 83 updateTimeline(200); | 83 updateTimeline(200); |
| 84 player->setPaused(true); | 84 player->setPaused(true); |
| 85 EXPECT_TRUE(player->paused()); | 85 EXPECT_TRUE(player->paused()); |
| 86 EXPECT_EQ(200, player->currentTime()); | 86 EXPECT_EQ(200, player->currentTime()); |
| 87 EXPECT_EQ(0, player->timeDrift()); | 87 EXPECT_EQ(0, player->timeDrift()); |
| 88 | 88 |
| 89 updateTimeline(400); | 89 updateTimeline(400); |
| 90 player->setPaused(false); | 90 player->setPaused(false); |
| 91 EXPECT_FALSE(player->paused()); | 91 EXPECT_FALSE(player->paused()); |
| 92 EXPECT_EQ(200, player->currentTime()); | 92 EXPECT_EQ(200, player->currentTime()); |
| 93 EXPECT_EQ(200, player->timeDrift()); | 93 EXPECT_EQ(200, player->timeDrift()); |
| 94 | 94 |
| 95 updateTimeline(600); | 95 updateTimeline(600); |
| 96 EXPECT_EQ(400, player->currentTime()); | 96 EXPECT_EQ(400, player->currentTime()); |
| 97 EXPECT_EQ(200, player->timeDrift()); | 97 EXPECT_EQ(200, player->timeDrift()); |
| 98 } | 98 } |
| 99 | 99 |
| 100 TEST_F(CoreAnimationPlayerTest, PauseBeforeTimelineStarted) | 100 TEST_F(AnimationPlayerTest, PauseBeforeTimelineStarted) |
| 101 { | 101 { |
| 102 player->setPaused(true); | 102 player->setPaused(true); |
| 103 EXPECT_TRUE(player->paused()); | 103 EXPECT_TRUE(player->paused()); |
| 104 EXPECT_EQ(0, player->currentTime()); | 104 EXPECT_EQ(0, player->currentTime()); |
| 105 EXPECT_EQ(0, player->timeDrift()); | 105 EXPECT_EQ(0, player->timeDrift()); |
| 106 | 106 |
| 107 player->setPaused(false); | 107 player->setPaused(false); |
| 108 EXPECT_FALSE(player->paused()); | 108 EXPECT_FALSE(player->paused()); |
| 109 EXPECT_EQ(0, player->currentTime()); | 109 EXPECT_EQ(0, player->currentTime()); |
| 110 EXPECT_EQ(0, player->timeDrift()); | 110 EXPECT_EQ(0, player->timeDrift()); |
| 111 | 111 |
| 112 player->setPaused(true); | 112 player->setPaused(true); |
| 113 updateTimeline(100); | 113 updateTimeline(100); |
| 114 EXPECT_TRUE(player->paused()); | 114 EXPECT_TRUE(player->paused()); |
| 115 EXPECT_EQ(0, player->currentTime()); | 115 EXPECT_EQ(0, player->currentTime()); |
| 116 EXPECT_EQ(100, player->timeDrift()); | 116 EXPECT_EQ(100, player->timeDrift()); |
| 117 | 117 |
| 118 player->setPaused(false); | 118 player->setPaused(false); |
| 119 EXPECT_EQ(0, player->currentTime()); | 119 EXPECT_EQ(0, player->currentTime()); |
| 120 EXPECT_EQ(100, player->timeDrift()); | 120 EXPECT_EQ(100, player->timeDrift()); |
| 121 } | 121 } |
| 122 | 122 |
| 123 TEST_F(CoreAnimationPlayerTest, PauseBeforeStartTimeSet) | 123 TEST_F(AnimationPlayerTest, PauseBeforeStartTimeSet) |
| 124 { | 124 { |
| 125 player = Player::create(*timeline, 0); | 125 player = Player::create(*timeline, 0); |
| 126 updateTimeline(100); | 126 updateTimeline(100); |
| 127 EXPECT_EQ(0, player->currentTime()); | 127 EXPECT_EQ(0, player->currentTime()); |
| 128 | 128 |
| 129 player->setPaused(true); | 129 player->setPaused(true); |
| 130 updateTimeline(200); | 130 updateTimeline(200); |
| 131 EXPECT_EQ(0, player->currentTime()); | 131 EXPECT_EQ(0, player->currentTime()); |
| 132 | 132 |
| 133 player->setStartTime(150); | 133 player->setStartTime(150); |
| 134 EXPECT_EQ(0, player->currentTime()); | 134 EXPECT_EQ(0, player->currentTime()); |
| 135 | 135 |
| 136 player->setPaused(false); | 136 player->setPaused(false); |
| 137 EXPECT_EQ(0, player->currentTime()); | 137 EXPECT_EQ(0, player->currentTime()); |
| 138 | 138 |
| 139 updateTimeline(300); | 139 updateTimeline(300); |
| 140 EXPECT_EQ(100, player->currentTime()); | 140 EXPECT_EQ(100, player->currentTime()); |
| 141 } | 141 } |
| 142 | 142 |
| 143 TEST_F(CoreAnimationPlayerTest, SetCurrentTime) | 143 TEST_F(AnimationPlayerTest, SetCurrentTime) |
| 144 { | 144 { |
| 145 updateTimeline(0); | 145 updateTimeline(0); |
| 146 player->setCurrentTime(250); | 146 player->setCurrentTime(250); |
| 147 EXPECT_EQ(250, player->currentTime()); | 147 EXPECT_EQ(250, player->currentTime()); |
| 148 EXPECT_EQ(-250, player->timeDrift()); | 148 EXPECT_EQ(-250, player->timeDrift()); |
| 149 } | 149 } |
| 150 | 150 |
| 151 TEST_F(CoreAnimationPlayerTest, SetStartTime) | 151 TEST_F(AnimationPlayerTest, SetStartTime) |
| 152 { | 152 { |
| 153 updateTimeline(0); | 153 updateTimeline(0); |
| 154 player = Player::create(*timeline, 0); | 154 player = Player::create(*timeline, 0); |
| 155 EXPECT_FALSE(player->hasStartTime()); | 155 EXPECT_FALSE(player->hasStartTime()); |
| 156 EXPECT_TRUE(isNull(player->startTime())); | 156 EXPECT_TRUE(isNull(player->startTime())); |
| 157 EXPECT_EQ(0, player->currentTime()); | 157 EXPECT_EQ(0, player->currentTime()); |
| 158 | 158 |
| 159 updateTimeline(100); | 159 updateTimeline(100); |
| 160 player->setStartTime(50); | 160 player->setStartTime(50); |
| 161 EXPECT_TRUE(player->hasStartTime()); | 161 EXPECT_TRUE(player->hasStartTime()); |
| 162 EXPECT_EQ(50, player->startTime()); | 162 EXPECT_EQ(50, player->startTime()); |
| 163 EXPECT_EQ(50, player->currentTime()); | 163 EXPECT_EQ(50, player->currentTime()); |
| 164 | 164 |
| 165 updateTimeline(200); | 165 updateTimeline(200); |
| 166 EXPECT_EQ(150, player->currentTime()); | 166 EXPECT_EQ(150, player->currentTime()); |
| 167 } | 167 } |
| 168 | 168 |
| 169 | 169 |
| 170 TEST_F(CoreAnimationPlayerTest, SetCurrentTimeBeforeTimelineStarted) | 170 TEST_F(AnimationPlayerTest, SetCurrentTimeBeforeTimelineStarted) |
| 171 { | 171 { |
| 172 player->setCurrentTime(250); | 172 player->setCurrentTime(250); |
| 173 EXPECT_EQ(250, player->currentTime()); | 173 EXPECT_EQ(250, player->currentTime()); |
| 174 EXPECT_EQ(-250, player->timeDrift()); | 174 EXPECT_EQ(-250, player->timeDrift()); |
| 175 | 175 |
| 176 updateTimeline(0); | 176 updateTimeline(0); |
| 177 EXPECT_EQ(250, player->currentTime()); | 177 EXPECT_EQ(250, player->currentTime()); |
| 178 } | 178 } |
| 179 | 179 |
| 180 TEST_F(CoreAnimationPlayerTest, SetCurrentTimeBeforeStartTimeSet) | 180 TEST_F(AnimationPlayerTest, SetCurrentTimeBeforeStartTimeSet) |
| 181 { | 181 { |
| 182 updateTimeline(0); | 182 updateTimeline(0); |
| 183 player = Player::create(*timeline, 0); | 183 player = Player::create(*timeline, 0); |
| 184 | 184 |
| 185 player->setCurrentTime(250); | 185 player->setCurrentTime(250); |
| 186 EXPECT_EQ(250, player->currentTime()); | 186 EXPECT_EQ(250, player->currentTime()); |
| 187 EXPECT_EQ(-250, player->timeDrift()); | 187 EXPECT_EQ(-250, player->timeDrift()); |
| 188 | 188 |
| 189 updateTimeline(100); | 189 updateTimeline(100); |
| 190 player->setStartTime(50); | 190 player->setStartTime(50); |
| 191 EXPECT_EQ(300, player->currentTime()); | 191 EXPECT_EQ(300, player->currentTime()); |
| 192 } | 192 } |
| 193 | 193 |
| 194 TEST_F(CoreAnimationPlayerTest, SetPlaybackRate) | 194 TEST_F(AnimationPlayerTest, SetPlaybackRate) |
| 195 { | 195 { |
| 196 updateTimeline(0); | 196 updateTimeline(0); |
| 197 player->setPlaybackRate(2); | 197 player->setPlaybackRate(2); |
| 198 EXPECT_EQ(2, player->playbackRate()); | 198 EXPECT_EQ(2, player->playbackRate()); |
| 199 EXPECT_EQ(0, player->currentTime()); | 199 EXPECT_EQ(0, player->currentTime()); |
| 200 EXPECT_EQ(0, player->timeDrift()); | 200 EXPECT_EQ(0, player->timeDrift()); |
| 201 | 201 |
| 202 updateTimeline(100); | 202 updateTimeline(100); |
| 203 EXPECT_EQ(200, player->currentTime()); | 203 EXPECT_EQ(200, player->currentTime()); |
| 204 EXPECT_EQ(0, player->timeDrift()); | 204 EXPECT_EQ(0, player->timeDrift()); |
| 205 } | 205 } |
| 206 | 206 |
| 207 TEST_F(CoreAnimationPlayerTest, SetPlaybackRateBeforeTimelineStarted) | 207 TEST_F(AnimationPlayerTest, SetPlaybackRateBeforeTimelineStarted) |
| 208 { | 208 { |
| 209 player->setPlaybackRate(2); | 209 player->setPlaybackRate(2); |
| 210 EXPECT_EQ(0, player->currentTime()); | 210 EXPECT_EQ(0, player->currentTime()); |
| 211 EXPECT_EQ(0, player->timeDrift()); | 211 EXPECT_EQ(0, player->timeDrift()); |
| 212 | 212 |
| 213 updateTimeline(100); | 213 updateTimeline(100); |
| 214 EXPECT_EQ(200, player->currentTime()); | 214 EXPECT_EQ(200, player->currentTime()); |
| 215 EXPECT_EQ(0, player->timeDrift()); | 215 EXPECT_EQ(0, player->timeDrift()); |
| 216 } | 216 } |
| 217 | 217 |
| 218 TEST_F(CoreAnimationPlayerTest, SetPlaybackRateWhilePaused) | 218 TEST_F(AnimationPlayerTest, SetPlaybackRateWhilePaused) |
| 219 { | 219 { |
| 220 updateTimeline(100); | 220 updateTimeline(100); |
| 221 player->setPaused(true); | 221 player->setPaused(true); |
| 222 player->setPlaybackRate(2); | 222 player->setPlaybackRate(2); |
| 223 EXPECT_EQ(100, player->currentTime()); | 223 EXPECT_EQ(100, player->currentTime()); |
| 224 EXPECT_EQ(100, player->timeDrift()); | 224 EXPECT_EQ(100, player->timeDrift()); |
| 225 | 225 |
| 226 updateTimeline(200); | 226 updateTimeline(200); |
| 227 player->setPaused(false); | 227 player->setPaused(false); |
| 228 EXPECT_EQ(100, player->currentTime()); | 228 EXPECT_EQ(100, player->currentTime()); |
| 229 EXPECT_EQ(300, player->timeDrift()); | 229 EXPECT_EQ(300, player->timeDrift()); |
| 230 | 230 |
| 231 updateTimeline(250); | 231 updateTimeline(250); |
| 232 EXPECT_EQ(200, player->currentTime()); | 232 EXPECT_EQ(200, player->currentTime()); |
| 233 EXPECT_EQ(300, player->timeDrift()); | 233 EXPECT_EQ(300, player->timeDrift()); |
| 234 } | 234 } |
| 235 | 235 |
| 236 TEST_F(CoreAnimationPlayerTest, SetPlaybackRateNaN) | 236 TEST_F(AnimationPlayerTest, SetPlaybackRateNaN) |
| 237 { | 237 { |
| 238 updateTimeline(0); | 238 updateTimeline(0); |
| 239 player->setPlaybackRate(nullValue()); | 239 player->setPlaybackRate(nullValue()); |
| 240 EXPECT_TRUE(isNull(player->playbackRate())); | 240 EXPECT_TRUE(isNull(player->playbackRate())); |
| 241 EXPECT_TRUE(isNull(player->currentTime())); | 241 EXPECT_TRUE(isNull(player->currentTime())); |
| 242 EXPECT_TRUE(isNull(player->timeDrift())); | 242 EXPECT_TRUE(isNull(player->timeDrift())); |
| 243 | 243 |
| 244 updateTimeline(100); | 244 updateTimeline(100); |
| 245 EXPECT_TRUE(isNull(player->currentTime())); | 245 EXPECT_TRUE(isNull(player->currentTime())); |
| 246 EXPECT_TRUE(isNull(player->timeDrift())); | 246 EXPECT_TRUE(isNull(player->timeDrift())); |
| 247 } | 247 } |
| 248 | 248 |
| 249 TEST_F(CoreAnimationPlayerTest, SetPlaybackRateInfinity) | 249 TEST_F(AnimationPlayerTest, SetPlaybackRateInfinity) |
| 250 { | 250 { |
| 251 updateTimeline(0); | 251 updateTimeline(0); |
| 252 player->setPlaybackRate(std::numeric_limits<double>::infinity()); | 252 player->setPlaybackRate(std::numeric_limits<double>::infinity()); |
| 253 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->playbackRate()); | 253 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->playbackRate()); |
| 254 EXPECT_TRUE(isNull(player->currentTime())); | 254 EXPECT_TRUE(isNull(player->currentTime())); |
| 255 EXPECT_TRUE(isNull(player->timeDrift())); | 255 EXPECT_TRUE(isNull(player->timeDrift())); |
| 256 | 256 |
| 257 updateTimeline(100); | 257 updateTimeline(100); |
| 258 EXPECT_TRUE(isNull(player->currentTime())); | 258 EXPECT_TRUE(isNull(player->currentTime())); |
| 259 EXPECT_TRUE(isNull(player->timeDrift())); | 259 EXPECT_TRUE(isNull(player->timeDrift())); |
| 260 } | 260 } |
| 261 | 261 |
| 262 TEST_F(CoreAnimationPlayerTest, SetPlaybackRateMax) | 262 TEST_F(AnimationPlayerTest, SetPlaybackRateMax) |
| 263 { | 263 { |
| 264 updateTimeline(0); | 264 updateTimeline(0); |
| 265 player->setPlaybackRate(std::numeric_limits<double>::max()); | 265 player->setPlaybackRate(std::numeric_limits<double>::max()); |
| 266 EXPECT_EQ(std::numeric_limits<double>::max(), player->playbackRate()); | 266 EXPECT_EQ(std::numeric_limits<double>::max(), player->playbackRate()); |
| 267 EXPECT_EQ(0, player->currentTime()); | 267 EXPECT_EQ(0, player->currentTime()); |
| 268 EXPECT_EQ(0, player->timeDrift()); | 268 EXPECT_EQ(0, player->timeDrift()); |
| 269 | 269 |
| 270 updateTimeline(100); | 270 updateTimeline(100); |
| 271 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->currentTime()); | 271 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->currentTime()); |
| 272 } | 272 } |
| 273 | 273 |
| 274 TEST_F(CoreAnimationPlayerTest, SetCurrentTimeNan) | 274 TEST_F(AnimationPlayerTest, SetCurrentTimeNan) |
| 275 { | 275 { |
| 276 updateTimeline(0); | 276 updateTimeline(0); |
| 277 player->setCurrentTime(nullValue()); | 277 player->setCurrentTime(nullValue()); |
| 278 EXPECT_TRUE(isNull(player->currentTime())); | 278 EXPECT_TRUE(isNull(player->currentTime())); |
| 279 EXPECT_TRUE(isNull(player->timeDrift())); | 279 EXPECT_TRUE(isNull(player->timeDrift())); |
| 280 | 280 |
| 281 updateTimeline(100); | 281 updateTimeline(100); |
| 282 EXPECT_TRUE(isNull(player->currentTime())); | 282 EXPECT_TRUE(isNull(player->currentTime())); |
| 283 EXPECT_TRUE(isNull(player->timeDrift())); | 283 EXPECT_TRUE(isNull(player->timeDrift())); |
| 284 } | 284 } |
| 285 | 285 |
| 286 TEST_F(CoreAnimationPlayerTest, SetCurrentTimeInfinity) | 286 TEST_F(AnimationPlayerTest, SetCurrentTimeInfinity) |
| 287 { | 287 { |
| 288 updateTimeline(0); | 288 updateTimeline(0); |
| 289 player->setCurrentTime(std::numeric_limits<double>::infinity()); | 289 player->setCurrentTime(std::numeric_limits<double>::infinity()); |
| 290 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->currentTime()); | 290 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->currentTime()); |
| 291 EXPECT_EQ(-std::numeric_limits<double>::infinity(), player->timeDrift()); | 291 EXPECT_EQ(-std::numeric_limits<double>::infinity(), player->timeDrift()); |
| 292 | 292 |
| 293 updateTimeline(100); | 293 updateTimeline(100); |
| 294 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->currentTime()); | 294 EXPECT_EQ(std::numeric_limits<double>::infinity(), player->currentTime()); |
| 295 EXPECT_EQ(-std::numeric_limits<double>::infinity(), player->timeDrift()); | 295 EXPECT_EQ(-std::numeric_limits<double>::infinity(), player->timeDrift()); |
| 296 } | 296 } |
| 297 | 297 |
| 298 TEST_F(CoreAnimationPlayerTest, SetCurrentTimeMax) | 298 TEST_F(AnimationPlayerTest, SetCurrentTimeMax) |
| 299 { | 299 { |
| 300 updateTimeline(0); | 300 updateTimeline(0); |
| 301 player->setCurrentTime(std::numeric_limits<double>::max()); | 301 player->setCurrentTime(std::numeric_limits<double>::max()); |
| 302 EXPECT_EQ(std::numeric_limits<double>::max(), player->currentTime()); | 302 EXPECT_EQ(std::numeric_limits<double>::max(), player->currentTime()); |
| 303 EXPECT_EQ(-std::numeric_limits<double>::max(), player->timeDrift()); | 303 EXPECT_EQ(-std::numeric_limits<double>::max(), player->timeDrift()); |
| 304 | 304 |
| 305 updateTimeline(100); | 305 updateTimeline(100); |
| 306 EXPECT_EQ(std::numeric_limits<double>::max(), player->currentTime()); | 306 EXPECT_EQ(std::numeric_limits<double>::max(), player->currentTime()); |
| 307 EXPECT_EQ(-std::numeric_limits<double>::max(), player->timeDrift()); | 307 EXPECT_EQ(-std::numeric_limits<double>::max(), player->timeDrift()); |
| 308 } | 308 } |
| 309 | 309 |
| 310 TEST_F(CoreAnimationPlayerTest, EmptyPlayersDontUpdateEffects) | 310 TEST_F(AnimationPlayerTest, EmptyPlayersDontUpdateEffects) |
| 311 { | 311 { |
| 312 double timeToNextEffect; | 312 double timeToNextEffect; |
| 313 updateTimeline(0, &timeToNextEffect); | 313 updateTimeline(0, &timeToNextEffect); |
| 314 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); | 314 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); |
| 315 | 315 |
| 316 timeToNextEffect = 0; | 316 timeToNextEffect = 0; |
| 317 updateTimeline(1234, &timeToNextEffect); | 317 updateTimeline(1234, &timeToNextEffect); |
| 318 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); | 318 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); |
| 319 } | 319 } |
| 320 | 320 |
| 321 TEST_F(CoreAnimationPlayerTest, PlayersReturnTimeToNextEffect) | 321 TEST_F(AnimationPlayerTest, PlayersReturnTimeToNextEffect) |
| 322 { | 322 { |
| 323 Timing timing; | 323 Timing timing; |
| 324 timing.startDelay = 1; | 324 timing.startDelay = 1; |
| 325 timing.iterationDuration = 1; | 325 timing.iterationDuration = 1; |
| 326 timing.hasIterationDuration = true; | 326 timing.hasIterationDuration = true; |
| 327 RefPtr<Animation> animation = Animation::create(0, 0, timing); | 327 RefPtr<Animation> animation = Animation::create(0, 0, timing); |
| 328 player = Player::create(*timeline, animation.get()); | 328 player = Player::create(*timeline, animation.get()); |
| 329 player->setStartTime(0); | 329 player->setStartTime(0); |
| 330 | 330 |
| 331 double timeToNextEffect; | 331 double timeToNextEffect; |
| 332 updateTimeline(0, &timeToNextEffect); | 332 updateTimeline(0, &timeToNextEffect); |
| 333 EXPECT_EQ(1, timeToNextEffect); | 333 EXPECT_EQ(1, timeToNextEffect); |
| 334 | 334 |
| 335 updateTimeline(0.5, &timeToNextEffect); | 335 updateTimeline(0.5, &timeToNextEffect); |
| 336 EXPECT_EQ(0.5, timeToNextEffect); | 336 EXPECT_EQ(0.5, timeToNextEffect); |
| 337 | 337 |
| 338 updateTimeline(1, &timeToNextEffect); | 338 updateTimeline(1, &timeToNextEffect); |
| 339 EXPECT_EQ(0, timeToNextEffect); | 339 EXPECT_EQ(0, timeToNextEffect); |
| 340 | 340 |
| 341 updateTimeline(1.5, &timeToNextEffect); | 341 updateTimeline(1.5, &timeToNextEffect); |
| 342 EXPECT_EQ(0, timeToNextEffect); | 342 EXPECT_EQ(0, timeToNextEffect); |
| 343 | 343 |
| 344 updateTimeline(2, &timeToNextEffect); | 344 updateTimeline(2, &timeToNextEffect); |
| 345 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); | 345 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); |
| 346 | 346 |
| 347 updateTimeline(3, &timeToNextEffect); | 347 updateTimeline(3, &timeToNextEffect); |
| 348 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); | 348 EXPECT_EQ(std::numeric_limits<double>::infinity(), timeToNextEffect); |
| 349 } | 349 } |
| 350 | 350 |
| 351 TEST_F(CoreAnimationPlayerTest, AttachedPlayers) | 351 TEST_F(AnimationPlayerTest, AttachedPlayers) |
| 352 { | 352 { |
| 353 RefPtr<Element> element = document->createElement("foo", ASSERT_NO_EXCEPTION
); | 353 RefPtr<Element> element = document->createElement("foo", ASSERT_NO_EXCEPTION
); |
| 354 | 354 |
| 355 Timing timing; | 355 Timing timing; |
| 356 RefPtr<Animation> animation = Animation::create(element, 0, timing); | 356 RefPtr<Animation> animation = Animation::create(element, 0, timing); |
| 357 RefPtr<Player> player = Player::create(*timeline, animation.get()); | 357 RefPtr<Player> player = Player::create(*timeline, animation.get()); |
| 358 ASSERT_EQ(1U, element->activeAnimations()->players().find(player.get())->val
ue); | 358 ASSERT_EQ(1U, element->activeAnimations()->players().find(player.get())->val
ue); |
| 359 | 359 |
| 360 player.release(); | 360 player.release(); |
| 361 ASSERT_TRUE(element->activeAnimations()->players().isEmpty()); | 361 ASSERT_TRUE(element->activeAnimations()->players().isEmpty()); |
| 362 } | 362 } |
| 363 | 363 |
| 364 } | 364 } |
| OLD | NEW |