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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 { | 82 { |
83 AnimationTimeline::PlatformTiming::trace(visitor); | 83 AnimationTimeline::PlatformTiming::trace(visitor); |
84 } | 84 } |
85 }; | 85 }; |
86 | 86 |
87 class AnimationAnimationTimelineTest : public ::testing::Test { | 87 class AnimationAnimationTimelineTest : public ::testing::Test { |
88 protected: | 88 protected: |
89 virtual void SetUp() | 89 virtual void SetUp() |
90 { | 90 { |
91 document = Document::create(); | 91 document = Document::create(); |
92 document->animationClock().resetTimeForTesting(); | 92 document->animationClock().clearTimeForTesting(); |
| 93 document->animationClock().updateTime(AnimationClock::createTimeForTesti
ng(0, 0)); |
93 element = Element::create(QualifiedName::null() , document.get()); | 94 element = Element::create(QualifiedName::null() , document.get()); |
94 platformTiming = new MockPlatformTiming; | 95 platformTiming = new MockPlatformTiming; |
95 timeline = AnimationTimeline::create(document.get(), adoptPtrWillBeNoop(
platformTiming)); | 96 timeline = AnimationTimeline::create(document.get(), adoptPtrWillBeNoop(
platformTiming)); |
96 ASSERT_EQ(0, timeline->currentTimeInternal()); | 97 ASSERT_EQ(0, timeline->currentTimeInternal()); |
97 } | 98 } |
98 | 99 |
99 virtual void TearDown() | 100 virtual void TearDown() |
100 { | 101 { |
101 document.release(); | 102 document.release(); |
102 element.release(); | 103 element.release(); |
103 timeline.release(); | 104 timeline.release(); |
104 } | 105 } |
105 | 106 |
106 void updateClockAndService(double time) | 107 void updateClockAndService(double time) |
107 { | 108 { |
108 document->animationClock().updateTime(time); | 109 document->animationClock().updateTime(AnimationClock::createTimeForTesti
ng(time, time + 1)); |
109 timeline->serviceAnimations(TimingUpdateForAnimationFrame); | 110 timeline->serviceAnimations(TimingUpdateForAnimationFrame); |
110 } | 111 } |
111 | 112 |
112 RefPtrWillBePersistent<Document> document; | 113 RefPtrWillBePersistent<Document> document; |
113 RefPtrWillBePersistent<Element> element; | 114 RefPtrWillBePersistent<Element> element; |
114 RefPtrWillBePersistent<AnimationTimeline> timeline; | 115 RefPtrWillBePersistent<AnimationTimeline> timeline; |
115 Timing timing; | 116 Timing timing; |
116 MockPlatformTiming* platformTiming; | 117 MockPlatformTiming* platformTiming; |
117 | 118 |
118 void wake() | 119 void wake() |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 platformTiming->expectNoMoreActions(); | 165 platformTiming->expectNoMoreActions(); |
165 updateClockAndService(100); | 166 updateClockAndService(100); |
166 EXPECT_FLOAT_EQ(100, timeline->currentTimeInternal()); | 167 EXPECT_FLOAT_EQ(100, timeline->currentTimeInternal()); |
167 } | 168 } |
168 | 169 |
169 TEST_F(AnimationAnimationTimelineTest, ZeroTime) | 170 TEST_F(AnimationAnimationTimelineTest, ZeroTime) |
170 { | 171 { |
171 timeline = AnimationTimeline::create(document.get()); | 172 timeline = AnimationTimeline::create(document.get()); |
172 bool isNull; | 173 bool isNull; |
173 | 174 |
174 document->animationClock().updateTime(100); | 175 document->animationClock().updateTime(AnimationClock::createTimeForTesting(1
00, 101)); |
175 EXPECT_EQ(100, timeline->currentTimeInternal()); | 176 EXPECT_EQ(100, timeline->currentTimeInternal()); |
176 EXPECT_EQ(100, timeline->currentTimeInternal(isNull)); | 177 EXPECT_EQ(100, timeline->currentTimeInternal(isNull)); |
177 EXPECT_FALSE(isNull); | 178 EXPECT_FALSE(isNull); |
178 | 179 |
179 document->animationClock().updateTime(200); | 180 document->animationClock().updateTime(AnimationClock::createTimeForTesting(2
00, 201)); |
180 EXPECT_EQ(200, timeline->currentTimeInternal()); | 181 EXPECT_EQ(200, timeline->currentTimeInternal()); |
181 EXPECT_EQ(200, timeline->currentTimeInternal(isNull)); | 182 EXPECT_EQ(200, timeline->currentTimeInternal(isNull)); |
182 EXPECT_FALSE(isNull); | 183 EXPECT_FALSE(isNull); |
183 } | 184 } |
184 | 185 |
185 TEST_F(AnimationAnimationTimelineTest, PauseForTesting) | 186 TEST_F(AnimationAnimationTimelineTest, PauseForTesting) |
186 { | 187 { |
187 float seekTime = 1; | 188 float seekTime = 1; |
188 timing.fillMode = Timing::FillModeForwards; | 189 timing.fillMode = Timing::FillModeForwards; |
189 RefPtrWillBeRawPtr<Animation> anim1 = Animation::create(element.get(), Anima
tableValueKeyframeEffectModel::create(AnimatableValueKeyframeVector()), timing); | 190 RefPtrWillBeRawPtr<Animation> anim1 = Animation::create(element.get(), Anima
tableValueKeyframeEffectModel::create(AnimatableValueKeyframeVector()), timing); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 | 285 |
285 TEST_F(AnimationAnimationTimelineTest, UseAnimationPlayerAfterTimelineDeref) | 286 TEST_F(AnimationAnimationTimelineTest, UseAnimationPlayerAfterTimelineDeref) |
286 { | 287 { |
287 RefPtrWillBeRawPtr<AnimationPlayer> player = timeline->createAnimationPlayer
(0); | 288 RefPtrWillBeRawPtr<AnimationPlayer> player = timeline->createAnimationPlayer
(0); |
288 timeline.clear(); | 289 timeline.clear(); |
289 // Test passes if this does not crash. | 290 // Test passes if this does not crash. |
290 player->setStartTime(0); | 291 player->setStartTime(0); |
291 } | 292 } |
292 | 293 |
293 } | 294 } |
OLD | NEW |