| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/animation/animation.h" | 5 #include "cc/animation/animation.h" |
| 6 | 6 |
| 7 #include "cc/test/animation_test_common.h" | 7 #include "cc/test/animation_test_common.h" |
| 8 #include "testing/gmock/include/gmock/gmock.h" | 8 #include "testing/gmock/include/gmock/gmock.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| 11 namespace cc { | 11 namespace cc { |
| 12 namespace { | 12 namespace { |
| 13 | 13 |
| 14 using base::TimeDelta; | 14 using base::TimeDelta; |
| 15 | 15 |
| 16 static base::TimeTicks TicksFromSecondsF(double seconds) { | 16 static base::TimeTicks TicksFromSecondsF(double seconds) { |
| 17 return base::TimeTicks::FromInternalValue(seconds * | 17 return base::TimeTicks::FromInternalValue(seconds * |
| 18 base::Time::kMicrosecondsPerSecond); | 18 base::Time::kMicrosecondsPerSecond); |
| 19 } | 19 } |
| 20 | 20 |
| 21 scoped_ptr<Animation> CreateAnimation(double iterations, | 21 scoped_ptr<Animation> CreateAnimation(double iterations, |
| 22 double duration, | 22 double duration, |
| 23 double playback_rate) { | 23 double playback_rate) { |
| 24 scoped_ptr<Animation> to_return( | 24 scoped_ptr<Animation> to_return( |
| 25 Animation::Create(make_scoped_ptr(new FakeFloatAnimationCurve(duration)), | 25 Animation::Create(make_scoped_ptr(new FakeFloatAnimationCurve(duration)), |
| 26 0, 1, Animation::OPACITY)); | 26 0, |
| 27 1, |
| 28 Animation::Opacity)); |
| 27 to_return->set_iterations(iterations); | 29 to_return->set_iterations(iterations); |
| 28 to_return->set_playback_rate(playback_rate); | 30 to_return->set_playback_rate(playback_rate); |
| 29 return to_return.Pass(); | 31 return to_return.Pass(); |
| 30 } | 32 } |
| 31 | 33 |
| 32 scoped_ptr<Animation> CreateAnimation(double iterations, double duration) { | 34 scoped_ptr<Animation> CreateAnimation(double iterations, double duration) { |
| 33 return CreateAnimation(iterations, duration, 1); | 35 return CreateAnimation(iterations, duration, 1); |
| 34 } | 36 } |
| 35 | 37 |
| 36 scoped_ptr<Animation> CreateAnimation(double iterations) { | 38 scoped_ptr<Animation> CreateAnimation(double iterations) { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 86 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 85 .InSecondsF()); | 87 .InSecondsF()); |
| 86 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 88 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 87 .InSecondsF()); | 89 .InSecondsF()); |
| 88 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 90 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 89 .InSecondsF()); | 91 .InSecondsF()); |
| 90 } | 92 } |
| 91 | 93 |
| 92 TEST(AnimationTest, TrimTimeReverse) { | 94 TEST(AnimationTest, TrimTimeReverse) { |
| 93 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 95 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 94 anim->set_direction(Animation::DIRECTION_REVERSE); | 96 anim->set_direction(Animation::Reverse); |
| 95 EXPECT_EQ( | 97 EXPECT_EQ( |
| 96 1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)).InSecondsF()); | 98 1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)).InSecondsF()); |
| 97 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 99 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 98 .InSecondsF()); | 100 .InSecondsF()); |
| 99 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 101 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 100 .InSecondsF()); | 102 .InSecondsF()); |
| 101 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 103 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 102 .InSecondsF()); | 104 .InSecondsF()); |
| 103 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 105 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 104 .InSecondsF()); | 106 .InSecondsF()); |
| 105 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 107 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 106 .InSecondsF()); | 108 .InSecondsF()); |
| 107 } | 109 } |
| 108 | 110 |
| 109 TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) { | 111 TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) { |
| 110 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 112 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 111 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 113 anim->set_direction(Animation::Alternate); |
| 112 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 114 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 113 .InSecondsF()); | 115 .InSecondsF()); |
| 114 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 116 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 115 .InSecondsF()); | 117 .InSecondsF()); |
| 116 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 118 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 117 .InSecondsF()); | 119 .InSecondsF()); |
| 118 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 120 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 119 .InSecondsF()); | 121 .InSecondsF()); |
| 120 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 122 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 121 .InSecondsF()); | 123 .InSecondsF()); |
| 122 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 124 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 123 .InSecondsF()); | 125 .InSecondsF()); |
| 124 } | 126 } |
| 125 | 127 |
| 126 TEST(AnimationTest, TrimTimeAlternateOneIteration) { | 128 TEST(AnimationTest, TrimTimeAlternateOneIteration) { |
| 127 scoped_ptr<Animation> anim(CreateAnimation(1)); | 129 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 128 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 130 anim->set_direction(Animation::Alternate); |
| 129 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 131 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 130 .InSecondsF()); | 132 .InSecondsF()); |
| 131 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 133 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 132 .InSecondsF()); | 134 .InSecondsF()); |
| 133 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 135 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 134 .InSecondsF()); | 136 .InSecondsF()); |
| 135 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 137 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 136 .InSecondsF()); | 138 .InSecondsF()); |
| 137 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 139 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 138 .InSecondsF()); | 140 .InSecondsF()); |
| 139 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 141 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 140 .InSecondsF()); | 142 .InSecondsF()); |
| 141 } | 143 } |
| 142 | 144 |
| 143 TEST(AnimationTest, TrimTimeAlternateTwoIterations) { | 145 TEST(AnimationTest, TrimTimeAlternateTwoIterations) { |
| 144 scoped_ptr<Animation> anim(CreateAnimation(2)); | 146 scoped_ptr<Animation> anim(CreateAnimation(2)); |
| 145 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 147 anim->set_direction(Animation::Alternate); |
| 146 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 148 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 147 .InSecondsF()); | 149 .InSecondsF()); |
| 148 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 150 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 149 .InSecondsF()); | 151 .InSecondsF()); |
| 150 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 152 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 151 .InSecondsF()); | 153 .InSecondsF()); |
| 152 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 154 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 153 .InSecondsF()); | 155 .InSecondsF()); |
| 154 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 156 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 155 .InSecondsF()); | 157 .InSecondsF()); |
| 156 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 158 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 157 .InSecondsF()); | 159 .InSecondsF()); |
| 158 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) | 160 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 159 .InSecondsF()); | 161 .InSecondsF()); |
| 160 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 162 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 161 .InSecondsF()); | 163 .InSecondsF()); |
| 162 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) | 164 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 163 .InSecondsF()); | 165 .InSecondsF()); |
| 164 } | 166 } |
| 165 | 167 |
| 166 TEST(AnimationTest, TrimTimeAlternateTwoHalfIterations) { | 168 TEST(AnimationTest, TrimTimeAlternateTwoHalfIterations) { |
| 167 scoped_ptr<Animation> anim(CreateAnimation(2.5)); | 169 scoped_ptr<Animation> anim(CreateAnimation(2.5)); |
| 168 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 170 anim->set_direction(Animation::Alternate); |
| 169 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 171 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 170 .InSecondsF()); | 172 .InSecondsF()); |
| 171 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 173 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 172 .InSecondsF()); | 174 .InSecondsF()); |
| 173 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 175 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 174 .InSecondsF()); | 176 .InSecondsF()); |
| 175 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 177 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 176 .InSecondsF()); | 178 .InSecondsF()); |
| 177 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 179 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 178 .InSecondsF()); | 180 .InSecondsF()); |
| 179 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 181 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 180 .InSecondsF()); | 182 .InSecondsF()); |
| 181 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) | 183 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 182 .InSecondsF()); | 184 .InSecondsF()); |
| 183 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 185 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 184 .InSecondsF()); | 186 .InSecondsF()); |
| 185 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) | 187 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 186 .InSecondsF()); | 188 .InSecondsF()); |
| 187 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.50)) | 189 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.50)) |
| 188 .InSecondsF()); | 190 .InSecondsF()); |
| 189 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.75)) | 191 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.75)) |
| 190 .InSecondsF()); | 192 .InSecondsF()); |
| 191 } | 193 } |
| 192 | 194 |
| 193 TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) { | 195 TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) { |
| 194 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 196 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 195 anim->set_direction(Animation::DIRECTION_ALTERNATE_REVERSE); | 197 anim->set_direction(Animation::AlternateReverse); |
| 196 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 198 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 197 .InSecondsF()); | 199 .InSecondsF()); |
| 198 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 200 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 199 .InSecondsF()); | 201 .InSecondsF()); |
| 200 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 202 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 201 .InSecondsF()); | 203 .InSecondsF()); |
| 202 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 204 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 203 .InSecondsF()); | 205 .InSecondsF()); |
| 204 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 206 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 205 .InSecondsF()); | 207 .InSecondsF()); |
| 206 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 208 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 207 .InSecondsF()); | 209 .InSecondsF()); |
| 208 } | 210 } |
| 209 | 211 |
| 210 TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) { | 212 TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) { |
| 211 scoped_ptr<Animation> anim(CreateAnimation(1)); | 213 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 212 anim->set_direction(Animation::DIRECTION_ALTERNATE_REVERSE); | 214 anim->set_direction(Animation::AlternateReverse); |
| 213 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 215 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 214 .InSecondsF()); | 216 .InSecondsF()); |
| 215 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 217 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 216 .InSecondsF()); | 218 .InSecondsF()); |
| 217 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 219 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 218 .InSecondsF()); | 220 .InSecondsF()); |
| 219 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 221 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 220 .InSecondsF()); | 222 .InSecondsF()); |
| 221 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 223 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 222 .InSecondsF()); | 224 .InSecondsF()); |
| 223 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 225 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 224 .InSecondsF()); | 226 .InSecondsF()); |
| 225 } | 227 } |
| 226 | 228 |
| 227 TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) { | 229 TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) { |
| 228 scoped_ptr<Animation> anim(CreateAnimation(2)); | 230 scoped_ptr<Animation> anim(CreateAnimation(2)); |
| 229 anim->set_direction(Animation::DIRECTION_ALTERNATE_REVERSE); | 231 anim->set_direction(Animation::AlternateReverse); |
| 230 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 232 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 231 .InSecondsF()); | 233 .InSecondsF()); |
| 232 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 234 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 233 .InSecondsF()); | 235 .InSecondsF()); |
| 234 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 236 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 235 .InSecondsF()); | 237 .InSecondsF()); |
| 236 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 238 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 237 .InSecondsF()); | 239 .InSecondsF()); |
| 238 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 240 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 239 .InSecondsF()); | 241 .InSecondsF()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 258 .InSecondsF()); | 260 .InSecondsF()); |
| 259 EXPECT_EQ( | 261 EXPECT_EQ( |
| 260 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); | 262 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 261 EXPECT_EQ( | 263 EXPECT_EQ( |
| 262 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)).InSecondsF()); | 264 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)).InSecondsF()); |
| 263 } | 265 } |
| 264 | 266 |
| 265 TEST(AnimationTest, TrimTimeStartTimeReverse) { | 267 TEST(AnimationTest, TrimTimeStartTimeReverse) { |
| 266 scoped_ptr<Animation> anim(CreateAnimation(1)); | 268 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 267 anim->set_start_time(TicksFromSecondsF(4)); | 269 anim->set_start_time(TicksFromSecondsF(4)); |
| 268 anim->set_direction(Animation::DIRECTION_REVERSE); | 270 anim->set_direction(Animation::Reverse); |
| 269 EXPECT_EQ( | 271 EXPECT_EQ( |
| 270 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 272 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 271 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) | 273 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) |
| 272 .InSecondsF()); | 274 .InSecondsF()); |
| 273 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) | 275 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 274 .InSecondsF()); | 276 .InSecondsF()); |
| 275 EXPECT_EQ( | 277 EXPECT_EQ( |
| 276 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); | 278 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 277 EXPECT_EQ( | 279 EXPECT_EQ( |
| 278 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)).InSecondsF()); | 280 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)).InSecondsF()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 289 EXPECT_EQ( | 291 EXPECT_EQ( |
| 290 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 292 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 291 EXPECT_EQ( | 293 EXPECT_EQ( |
| 292 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 294 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 293 } | 295 } |
| 294 | 296 |
| 295 TEST(AnimationTest, TrimTimeTimeOffsetReverse) { | 297 TEST(AnimationTest, TrimTimeTimeOffsetReverse) { |
| 296 scoped_ptr<Animation> anim(CreateAnimation(1)); | 298 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 297 anim->set_time_offset(TimeDelta::FromMilliseconds(4000)); | 299 anim->set_time_offset(TimeDelta::FromMilliseconds(4000)); |
| 298 anim->set_start_time(TicksFromSecondsF(4)); | 300 anim->set_start_time(TicksFromSecondsF(4)); |
| 299 anim->set_direction(Animation::DIRECTION_REVERSE); | 301 anim->set_direction(Animation::Reverse); |
| 300 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 302 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 301 .InSecondsF()); | 303 .InSecondsF()); |
| 302 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 304 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 303 .InSecondsF()); | 305 .InSecondsF()); |
| 304 EXPECT_EQ( | 306 EXPECT_EQ( |
| 305 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 307 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 306 EXPECT_EQ( | 308 EXPECT_EQ( |
| 307 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 309 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 308 } | 310 } |
| 309 | 311 |
| 310 TEST(AnimationTest, TrimTimeNegativeTimeOffset) { | 312 TEST(AnimationTest, TrimTimeNegativeTimeOffset) { |
| 311 scoped_ptr<Animation> anim(CreateAnimation(1)); | 313 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 312 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); | 314 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); |
| 313 | 315 |
| 314 EXPECT_EQ( | 316 EXPECT_EQ( |
| 315 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 317 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 316 EXPECT_EQ( | 318 EXPECT_EQ( |
| 317 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)).InSecondsF()); | 319 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)).InSecondsF()); |
| 318 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) | 320 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 319 .InSecondsF()); | 321 .InSecondsF()); |
| 320 EXPECT_EQ( | 322 EXPECT_EQ( |
| 321 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); | 323 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 322 } | 324 } |
| 323 | 325 |
| 324 TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) { | 326 TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) { |
| 325 scoped_ptr<Animation> anim(CreateAnimation(1)); | 327 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 326 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); | 328 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); |
| 327 anim->set_direction(Animation::DIRECTION_REVERSE); | 329 anim->set_direction(Animation::Reverse); |
| 328 | 330 |
| 329 EXPECT_EQ( | 331 EXPECT_EQ( |
| 330 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 332 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 331 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) | 333 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) |
| 332 .InSecondsF()); | 334 .InSecondsF()); |
| 333 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) | 335 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 334 .InSecondsF()); | 336 .InSecondsF()); |
| 335 EXPECT_EQ( | 337 EXPECT_EQ( |
| 336 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); | 338 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 337 } | 339 } |
| 338 | 340 |
| 339 TEST(AnimationTest, TrimTimePauseResume) { | 341 TEST(AnimationTest, TrimTimePauseResume) { |
| 340 scoped_ptr<Animation> anim(CreateAnimation(1)); | 342 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 341 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 343 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 342 EXPECT_EQ( | 344 EXPECT_EQ( |
| 343 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 345 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 344 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 346 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 345 .InSecondsF()); | 347 .InSecondsF()); |
| 346 anim->SetRunState(Animation::PAUSED, TicksFromSecondsF(0.5)); | 348 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.5)); |
| 347 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 349 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 348 .InSecondsF()); | 350 .InSecondsF()); |
| 349 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(1024.0)); | 351 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0)); |
| 350 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 352 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 351 .InSecondsF()); | 353 .InSecondsF()); |
| 352 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)) | 354 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)) |
| 353 .InSecondsF()); | 355 .InSecondsF()); |
| 354 } | 356 } |
| 355 | 357 |
| 356 TEST(AnimationTest, TrimTimePauseResumeReverse) { | 358 TEST(AnimationTest, TrimTimePauseResumeReverse) { |
| 357 scoped_ptr<Animation> anim(CreateAnimation(1)); | 359 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 358 anim->set_direction(Animation::DIRECTION_REVERSE); | 360 anim->set_direction(Animation::Reverse); |
| 359 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 361 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 360 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 362 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 361 .InSecondsF()); | 363 .InSecondsF()); |
| 362 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 364 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 363 .InSecondsF()); | 365 .InSecondsF()); |
| 364 anim->SetRunState(Animation::PAUSED, TicksFromSecondsF(0.25)); | 366 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.25)); |
| 365 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 367 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 366 .InSecondsF()); | 368 .InSecondsF()); |
| 367 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(1024.0)); | 369 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0)); |
| 368 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 370 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 369 .InSecondsF()); | 371 .InSecondsF()); |
| 370 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.75)) | 372 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.75)) |
| 371 .InSecondsF()); | 373 .InSecondsF()); |
| 372 } | 374 } |
| 373 | 375 |
| 374 TEST(AnimationTest, TrimTimeSuspendResume) { | 376 TEST(AnimationTest, TrimTimeSuspendResume) { |
| 375 scoped_ptr<Animation> anim(CreateAnimation(1)); | 377 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 376 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 378 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 377 EXPECT_EQ( | 379 EXPECT_EQ( |
| 378 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 380 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 379 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 381 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 380 .InSecondsF()); | 382 .InSecondsF()); |
| 381 anim->Suspend(TicksFromSecondsF(0.5)); | 383 anim->Suspend(TicksFromSecondsF(0.5)); |
| 382 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 384 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 383 .InSecondsF()); | 385 .InSecondsF()); |
| 384 anim->Resume(TicksFromSecondsF(1024)); | 386 anim->Resume(TicksFromSecondsF(1024)); |
| 385 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 387 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 386 .InSecondsF()); | 388 .InSecondsF()); |
| 387 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)) | 389 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)) |
| 388 .InSecondsF()); | 390 .InSecondsF()); |
| 389 } | 391 } |
| 390 | 392 |
| 391 TEST(AnimationTest, TrimTimeSuspendResumeReverse) { | 393 TEST(AnimationTest, TrimTimeSuspendResumeReverse) { |
| 392 scoped_ptr<Animation> anim(CreateAnimation(1)); | 394 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 393 anim->set_direction(Animation::DIRECTION_REVERSE); | 395 anim->set_direction(Animation::Reverse); |
| 394 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 396 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 395 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 397 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 396 .InSecondsF()); | 398 .InSecondsF()); |
| 397 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 399 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 398 .InSecondsF()); | 400 .InSecondsF()); |
| 399 anim->Suspend(TicksFromSecondsF(0.75)); | 401 anim->Suspend(TicksFromSecondsF(0.75)); |
| 400 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 402 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 401 .InSecondsF()); | 403 .InSecondsF()); |
| 402 anim->Resume(TicksFromSecondsF(1024)); | 404 anim->Resume(TicksFromSecondsF(1024)); |
| 403 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) | 405 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 404 .InSecondsF()); | 406 .InSecondsF()); |
| 405 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.25)) | 407 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.25)) |
| 406 .InSecondsF()); | 408 .InSecondsF()); |
| 407 } | 409 } |
| 408 | 410 |
| 409 TEST(AnimationTest, TrimTimeZeroDuration) { | 411 TEST(AnimationTest, TrimTimeZeroDuration) { |
| 410 scoped_ptr<Animation> anim(CreateAnimation(0, 0)); | 412 scoped_ptr<Animation> anim(CreateAnimation(0, 0)); |
| 411 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 413 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 412 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 414 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 413 .InSecondsF()); | 415 .InSecondsF()); |
| 414 EXPECT_EQ( | 416 EXPECT_EQ( |
| 415 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 417 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 416 EXPECT_EQ( | 418 EXPECT_EQ( |
| 417 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 419 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 418 } | 420 } |
| 419 | 421 |
| 420 TEST(AnimationTest, TrimTimeStarting) { | 422 TEST(AnimationTest, TrimTimeStarting) { |
| 421 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); | 423 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); |
| 422 anim->SetRunState(Animation::STARTING, TicksFromSecondsF(0.0)); | 424 anim->SetRunState(Animation::Starting, TicksFromSecondsF(0.0)); |
| 423 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 425 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 424 .InSecondsF()); | 426 .InSecondsF()); |
| 425 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 427 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 426 .InSecondsF()); | 428 .InSecondsF()); |
| 427 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 429 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 428 .InSecondsF()); | 430 .InSecondsF()); |
| 429 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); | 431 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); |
| 430 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 432 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 431 .InSecondsF()); | 433 .InSecondsF()); |
| 432 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 434 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 433 .InSecondsF()); | 435 .InSecondsF()); |
| 434 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 436 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 435 .InSecondsF()); | 437 .InSecondsF()); |
| 436 anim->set_start_time(TicksFromSecondsF(1.0)); | 438 anim->set_start_time(TicksFromSecondsF(1.0)); |
| 437 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 439 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 438 .InSecondsF()); | 440 .InSecondsF()); |
| 439 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 441 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 440 .InSecondsF()); | 442 .InSecondsF()); |
| 441 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 443 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 442 .InSecondsF()); | 444 .InSecondsF()); |
| 443 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 445 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 444 .InSecondsF()); | 446 .InSecondsF()); |
| 445 } | 447 } |
| 446 | 448 |
| 447 TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) { | 449 TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) { |
| 448 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); | 450 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); |
| 449 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 451 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 450 anim->set_needs_synchronized_start_time(true); | 452 anim->set_needs_synchronized_start_time(true); |
| 451 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 453 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 452 .InSecondsF()); | 454 .InSecondsF()); |
| 453 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 455 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 454 .InSecondsF()); | 456 .InSecondsF()); |
| 455 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 457 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 456 .InSecondsF()); | 458 .InSecondsF()); |
| 457 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); | 459 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); |
| 458 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 460 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 459 .InSecondsF()); | 461 .InSecondsF()); |
| 460 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 462 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 461 .InSecondsF()); | 463 .InSecondsF()); |
| 462 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 464 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 463 .InSecondsF()); | 465 .InSecondsF()); |
| 464 anim->set_start_time(TicksFromSecondsF(1.0)); | 466 anim->set_start_time(TicksFromSecondsF(1.0)); |
| 465 anim->set_needs_synchronized_start_time(false); | 467 anim->set_needs_synchronized_start_time(false); |
| 466 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 468 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 467 .InSecondsF()); | 469 .InSecondsF()); |
| 468 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 470 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 469 .InSecondsF()); | 471 .InSecondsF()); |
| 470 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 472 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 471 .InSecondsF()); | 473 .InSecondsF()); |
| 472 } | 474 } |
| 473 | 475 |
| 474 TEST(AnimationTest, IsFinishedAtZeroIterations) { | 476 TEST(AnimationTest, IsFinishedAtZeroIterations) { |
| 475 scoped_ptr<Animation> anim(CreateAnimation(0)); | 477 scoped_ptr<Animation> anim(CreateAnimation(0)); |
| 476 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 478 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 477 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); | 479 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); |
| 478 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 480 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 479 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); | 481 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); |
| 480 } | 482 } |
| 481 | 483 |
| 482 TEST(AnimationTest, IsFinishedAtOneIteration) { | 484 TEST(AnimationTest, IsFinishedAtOneIteration) { |
| 483 scoped_ptr<Animation> anim(CreateAnimation(1)); | 485 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 484 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 486 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 485 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); | 487 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); |
| 486 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 488 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 487 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); | 489 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); |
| 488 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0))); | 490 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0))); |
| 489 } | 491 } |
| 490 | 492 |
| 491 TEST(AnimationTest, IsFinishedAtInfiniteIterations) { | 493 TEST(AnimationTest, IsFinishedAtInfiniteIterations) { |
| 492 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 494 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 493 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 495 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 494 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 496 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 495 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5))); | 497 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5))); |
| 496 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); | 498 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); |
| 497 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.5))); | 499 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.5))); |
| 498 } | 500 } |
| 499 | 501 |
| 500 TEST(AnimationTest, IsFinishedNegativeTimeOffset) { | 502 TEST(AnimationTest, IsFinishedNegativeTimeOffset) { |
| 501 scoped_ptr<Animation> anim(CreateAnimation(1)); | 503 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 502 anim->set_time_offset(TimeDelta::FromMilliseconds(-500)); | 504 anim->set_time_offset(TimeDelta::FromMilliseconds(-500)); |
| 503 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 505 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 504 | 506 |
| 505 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); | 507 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); |
| 506 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 508 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 507 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5))); | 509 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5))); |
| 508 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); | 510 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); |
| 509 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.5))); | 511 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.5))); |
| 510 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0))); | 512 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0))); |
| 511 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.5))); | 513 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.5))); |
| 512 } | 514 } |
| 513 | 515 |
| 514 TEST(AnimationTest, IsFinishedPositiveTimeOffset) { | 516 TEST(AnimationTest, IsFinishedPositiveTimeOffset) { |
| 515 scoped_ptr<Animation> anim(CreateAnimation(1)); | 517 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 516 anim->set_time_offset(TimeDelta::FromMilliseconds(500)); | 518 anim->set_time_offset(TimeDelta::FromMilliseconds(500)); |
| 517 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 519 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 518 | 520 |
| 519 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); | 521 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); |
| 520 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 522 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 521 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.5))); | 523 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.5))); |
| 522 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); | 524 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); |
| 523 } | 525 } |
| 524 | 526 |
| 525 TEST(AnimationTest, IsFinishedAtNotRunning) { | 527 TEST(AnimationTest, IsFinishedAtNotRunning) { |
| 526 scoped_ptr<Animation> anim(CreateAnimation(0)); | 528 scoped_ptr<Animation> anim(CreateAnimation(0)); |
| 527 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 529 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 528 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 530 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 529 anim->SetRunState(Animation::PAUSED, TicksFromSecondsF(0.0)); | 531 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.0)); |
| 530 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 532 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 531 anim->SetRunState(Animation::WAITING_FOR_TARGET_AVAILABILITY, | 533 anim->SetRunState(Animation::WaitingForTargetAvailability, |
| 532 TicksFromSecondsF(0.0)); | 534 TicksFromSecondsF(0.0)); |
| 533 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 535 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 534 anim->SetRunState(Animation::FINISHED, TicksFromSecondsF(0.0)); | 536 anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); |
| 535 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 537 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 536 anim->SetRunState(Animation::ABORTED, TicksFromSecondsF(0.0)); | 538 anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0)); |
| 537 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 539 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 538 } | 540 } |
| 539 | 541 |
| 540 TEST(AnimationTest, IsFinished) { | 542 TEST(AnimationTest, IsFinished) { |
| 541 scoped_ptr<Animation> anim(CreateAnimation(1)); | 543 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 542 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 544 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 543 EXPECT_FALSE(anim->is_finished()); | 545 EXPECT_FALSE(anim->is_finished()); |
| 544 anim->SetRunState(Animation::PAUSED, TicksFromSecondsF(0.0)); | 546 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.0)); |
| 545 EXPECT_FALSE(anim->is_finished()); | 547 EXPECT_FALSE(anim->is_finished()); |
| 546 anim->SetRunState(Animation::WAITING_FOR_TARGET_AVAILABILITY, | 548 anim->SetRunState(Animation::WaitingForTargetAvailability, |
| 547 TicksFromSecondsF(0.0)); | 549 TicksFromSecondsF(0.0)); |
| 548 EXPECT_FALSE(anim->is_finished()); | 550 EXPECT_FALSE(anim->is_finished()); |
| 549 anim->SetRunState(Animation::FINISHED, TicksFromSecondsF(0.0)); | 551 anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); |
| 550 EXPECT_TRUE(anim->is_finished()); | 552 EXPECT_TRUE(anim->is_finished()); |
| 551 anim->SetRunState(Animation::ABORTED, TicksFromSecondsF(0.0)); | 553 anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0)); |
| 552 EXPECT_TRUE(anim->is_finished()); | 554 EXPECT_TRUE(anim->is_finished()); |
| 553 } | 555 } |
| 554 | 556 |
| 555 TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime) { | 557 TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime) { |
| 556 scoped_ptr<Animation> anim(CreateAnimation(1)); | 558 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 557 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(2.0)); | 559 anim->SetRunState(Animation::Running, TicksFromSecondsF(2.0)); |
| 558 EXPECT_FALSE(anim->is_finished()); | 560 EXPECT_FALSE(anim->is_finished()); |
| 559 anim->SetRunState(Animation::PAUSED, TicksFromSecondsF(2.0)); | 561 anim->SetRunState(Animation::Paused, TicksFromSecondsF(2.0)); |
| 560 EXPECT_FALSE(anim->is_finished()); | 562 EXPECT_FALSE(anim->is_finished()); |
| 561 anim->SetRunState(Animation::WAITING_FOR_TARGET_AVAILABILITY, | 563 anim->SetRunState(Animation::WaitingForTargetAvailability, |
| 562 TicksFromSecondsF(2.0)); | 564 TicksFromSecondsF(2.0)); |
| 563 EXPECT_FALSE(anim->is_finished()); | 565 EXPECT_FALSE(anim->is_finished()); |
| 564 anim->SetRunState(Animation::FINISHED, TicksFromSecondsF(0.0)); | 566 anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); |
| 565 EXPECT_TRUE(anim->is_finished()); | 567 EXPECT_TRUE(anim->is_finished()); |
| 566 anim->SetRunState(Animation::ABORTED, TicksFromSecondsF(0.0)); | 568 anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0)); |
| 567 EXPECT_TRUE(anim->is_finished()); | 569 EXPECT_TRUE(anim->is_finished()); |
| 568 } | 570 } |
| 569 | 571 |
| 570 TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended) { | 572 TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended) { |
| 571 scoped_ptr<Animation> anim(CreateAnimation(1)); | 573 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 572 anim->Suspend(TicksFromSecondsF(0)); | 574 anim->Suspend(TicksFromSecondsF(0)); |
| 573 EXPECT_EQ(Animation::PAUSED, anim->run_state()); | 575 EXPECT_EQ(Animation::Paused, anim->run_state()); |
| 574 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 576 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 575 EXPECT_EQ(Animation::PAUSED, anim->run_state()); | 577 EXPECT_EQ(Animation::Paused, anim->run_state()); |
| 576 anim->Resume(TicksFromSecondsF(0)); | 578 anim->Resume(TicksFromSecondsF(0)); |
| 577 anim->SetRunState(Animation::RUNNING, TicksFromSecondsF(0.0)); | 579 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 578 EXPECT_EQ(Animation::RUNNING, anim->run_state()); | 580 EXPECT_EQ(Animation::Running, anim->run_state()); |
| 579 } | 581 } |
| 580 | 582 |
| 581 TEST(AnimationTest, TrimTimePlaybackNormal) { | 583 TEST(AnimationTest, TrimTimePlaybackNormal) { |
| 582 scoped_ptr<Animation> anim(CreateAnimation(1, 1, 1)); | 584 scoped_ptr<Animation> anim(CreateAnimation(1, 1, 1)); |
| 583 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 585 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 584 .InSecondsF()); | 586 .InSecondsF()); |
| 585 EXPECT_EQ( | 587 EXPECT_EQ( |
| 586 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 588 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 587 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 589 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 588 .InSecondsF()); | 590 .InSecondsF()); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 699 EXPECT_EQ( | 701 EXPECT_EQ( |
| 700 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); | 702 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); |
| 701 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.0)) | 703 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.0)) |
| 702 .InSecondsF()); | 704 .InSecondsF()); |
| 703 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.5)) | 705 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.5)) |
| 704 .InSecondsF()); | 706 .InSecondsF()); |
| 705 } | 707 } |
| 706 | 708 |
| 707 TEST(AnimationTest, TrimTimePlaybackNormalDoubleReverse) { | 709 TEST(AnimationTest, TrimTimePlaybackNormalDoubleReverse) { |
| 708 scoped_ptr<Animation> anim(CreateAnimation(1, 1, -1)); | 710 scoped_ptr<Animation> anim(CreateAnimation(1, 1, -1)); |
| 709 anim->set_direction(Animation::DIRECTION_REVERSE); | 711 anim->set_direction(Animation::Reverse); |
| 710 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 712 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 711 .InSecondsF()); | 713 .InSecondsF()); |
| 712 EXPECT_EQ( | 714 EXPECT_EQ( |
| 713 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 715 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 714 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 716 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 715 .InSecondsF()); | 717 .InSecondsF()); |
| 716 EXPECT_EQ( | 718 EXPECT_EQ( |
| 717 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 719 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 718 EXPECT_EQ( | 720 EXPECT_EQ( |
| 719 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); | 721 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 720 } | 722 } |
| 721 | 723 |
| 722 TEST(AnimationTest, TrimTimePlaybackFastDoubleReverse) { | 724 TEST(AnimationTest, TrimTimePlaybackFastDoubleReverse) { |
| 723 scoped_ptr<Animation> anim(CreateAnimation(1, 4, -2)); | 725 scoped_ptr<Animation> anim(CreateAnimation(1, 4, -2)); |
| 724 anim->set_direction(Animation::DIRECTION_REVERSE); | 726 anim->set_direction(Animation::Reverse); |
| 725 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 727 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 726 .InSecondsF()); | 728 .InSecondsF()); |
| 727 EXPECT_EQ( | 729 EXPECT_EQ( |
| 728 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); | 730 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 729 EXPECT_EQ( | 731 EXPECT_EQ( |
| 730 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)).InSecondsF()); | 732 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)).InSecondsF()); |
| 731 EXPECT_EQ( | 733 EXPECT_EQ( |
| 732 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); | 734 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 733 EXPECT_EQ( | 735 EXPECT_EQ( |
| 734 3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); | 736 3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); |
| 735 EXPECT_EQ( | 737 EXPECT_EQ( |
| 736 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); | 738 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 737 EXPECT_EQ( | 739 EXPECT_EQ( |
| 738 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)).InSecondsF()); | 740 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)).InSecondsF()); |
| 739 } | 741 } |
| 740 | 742 |
| 741 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFast) { | 743 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFast) { |
| 742 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); | 744 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); |
| 743 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 745 anim->set_direction(Animation::Alternate); |
| 744 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 746 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 745 .InSecondsF()); | 747 .InSecondsF()); |
| 746 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 748 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 747 .InSecondsF()); | 749 .InSecondsF()); |
| 748 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 750 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 749 .InSecondsF()); | 751 .InSecondsF()); |
| 750 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 752 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 751 .InSecondsF()); | 753 .InSecondsF()); |
| 752 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 754 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 753 .InSecondsF()); | 755 .InSecondsF()); |
| 754 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 756 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 755 .InSecondsF()); | 757 .InSecondsF()); |
| 756 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 758 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 757 .InSecondsF()); | 759 .InSecondsF()); |
| 758 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) | 760 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 759 .InSecondsF()); | 761 .InSecondsF()); |
| 760 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 762 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 761 .InSecondsF()); | 763 .InSecondsF()); |
| 762 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) | 764 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 763 .InSecondsF()); | 765 .InSecondsF()); |
| 764 } | 766 } |
| 765 | 767 |
| 766 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastReverse) { | 768 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastReverse) { |
| 767 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); | 769 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); |
| 768 anim->set_direction(Animation::DIRECTION_ALTERNATE_REVERSE); | 770 anim->set_direction(Animation::AlternateReverse); |
| 769 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 771 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 770 .InSecondsF()); | 772 .InSecondsF()); |
| 771 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 773 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 772 .InSecondsF()); | 774 .InSecondsF()); |
| 773 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 775 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 774 .InSecondsF()); | 776 .InSecondsF()); |
| 775 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 777 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 776 .InSecondsF()); | 778 .InSecondsF()); |
| 777 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 779 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 778 .InSecondsF()); | 780 .InSecondsF()); |
| 779 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 781 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 780 .InSecondsF()); | 782 .InSecondsF()); |
| 781 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 783 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 782 .InSecondsF()); | 784 .InSecondsF()); |
| 783 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 785 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 784 .InSecondsF()); | 786 .InSecondsF()); |
| 785 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) | 787 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 786 .InSecondsF()); | 788 .InSecondsF()); |
| 787 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 789 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 788 .InSecondsF()); | 790 .InSecondsF()); |
| 789 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) | 791 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 790 .InSecondsF()); | 792 .InSecondsF()); |
| 791 } | 793 } |
| 792 | 794 |
| 793 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastDoubleReverse) { | 795 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastDoubleReverse) { |
| 794 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -2)); | 796 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -2)); |
| 795 anim->set_direction(Animation::DIRECTION_ALTERNATE_REVERSE); | 797 anim->set_direction(Animation::AlternateReverse); |
| 796 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 798 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 797 .InSecondsF()); | 799 .InSecondsF()); |
| 798 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 800 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 799 .InSecondsF()); | 801 .InSecondsF()); |
| 800 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 802 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 801 .InSecondsF()); | 803 .InSecondsF()); |
| 802 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 804 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 803 .InSecondsF()); | 805 .InSecondsF()); |
| 804 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 806 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 805 .InSecondsF()); | 807 .InSecondsF()); |
| 806 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) | 808 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 807 .InSecondsF()); | 809 .InSecondsF()); |
| 808 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 810 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 809 .InSecondsF()); | 811 .InSecondsF()); |
| 810 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) | 812 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 811 .InSecondsF()); | 813 .InSecondsF()); |
| 812 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 814 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 813 .InSecondsF()); | 815 .InSecondsF()); |
| 814 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) | 816 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 815 .InSecondsF()); | 817 .InSecondsF()); |
| 816 } | 818 } |
| 817 | 819 |
| 818 TEST(AnimationTest, | 820 TEST(AnimationTest, |
| 819 TrimTimeAlternateReverseThreeIterationsPlaybackFastAlternateReverse) { | 821 TrimTimeAlternateReverseThreeIterationsPlaybackFastAlternateReverse) { |
| 820 scoped_ptr<Animation> anim(CreateAnimation(3, 2, -2)); | 822 scoped_ptr<Animation> anim(CreateAnimation(3, 2, -2)); |
| 821 anim->set_direction(Animation::DIRECTION_ALTERNATE_REVERSE); | 823 anim->set_direction(Animation::AlternateReverse); |
| 822 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 824 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 823 .InSecondsF()); | 825 .InSecondsF()); |
| 824 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) | 826 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 825 .InSecondsF()); | 827 .InSecondsF()); |
| 826 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 828 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 827 .InSecondsF()); | 829 .InSecondsF()); |
| 828 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) | 830 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 829 .InSecondsF()); | 831 .InSecondsF()); |
| 830 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 832 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 831 .InSecondsF()); | 833 .InSecondsF()); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 845 .InSecondsF()); | 847 .InSecondsF()); |
| 846 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) | 848 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 847 .InSecondsF()); | 849 .InSecondsF()); |
| 848 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.25)) | 850 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.25)) |
| 849 .InSecondsF()); | 851 .InSecondsF()); |
| 850 } | 852 } |
| 851 | 853 |
| 852 TEST(AnimationTest, | 854 TEST(AnimationTest, |
| 853 TrimTimeAlternateReverseTwoIterationsPlaybackNormalAlternate) { | 855 TrimTimeAlternateReverseTwoIterationsPlaybackNormalAlternate) { |
| 854 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -1)); | 856 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -1)); |
| 855 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 857 anim->set_direction(Animation::Alternate); |
| 856 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 858 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 857 .InSecondsF()); | 859 .InSecondsF()); |
| 858 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 860 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 859 .InSecondsF()); | 861 .InSecondsF()); |
| 860 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 862 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 861 .InSecondsF()); | 863 .InSecondsF()); |
| 862 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 864 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 863 .InSecondsF()); | 865 .InSecondsF()); |
| 864 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 866 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 865 .InSecondsF()); | 867 .InSecondsF()); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 889 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 891 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 890 .InSecondsF()); | 892 .InSecondsF()); |
| 891 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 893 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 892 .InSecondsF()); | 894 .InSecondsF()); |
| 893 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) | 895 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 894 .InSecondsF()); | 896 .InSecondsF()); |
| 895 } | 897 } |
| 896 | 898 |
| 897 TEST(AnimationTest, TrimTimeIterationStartAlternate) { | 899 TEST(AnimationTest, TrimTimeIterationStartAlternate) { |
| 898 scoped_ptr<Animation> anim(CreateAnimation(2, 1, 1)); | 900 scoped_ptr<Animation> anim(CreateAnimation(2, 1, 1)); |
| 899 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 901 anim->set_direction(Animation::Alternate); |
| 900 anim->set_iteration_start(0.3); | 902 anim->set_iteration_start(0.3); |
| 901 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 903 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 902 .InSecondsF()); | 904 .InSecondsF()); |
| 903 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 905 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 904 .InSecondsF()); | 906 .InSecondsF()); |
| 905 EXPECT_EQ(0.8, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 907 EXPECT_EQ(0.8, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 906 .InSecondsF()); | 908 .InSecondsF()); |
| 907 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.7)) | 909 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.7)) |
| 908 .InSecondsF()); | 910 .InSecondsF()); |
| 909 EXPECT_EQ(0.7, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 911 EXPECT_EQ(0.7, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 910 .InSecondsF()); | 912 .InSecondsF()); |
| 911 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.2)) | 913 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.2)) |
| 912 .InSecondsF()); | 914 .InSecondsF()); |
| 913 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.7)) | 915 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.7)) |
| 914 .InSecondsF()); | 916 .InSecondsF()); |
| 915 } | 917 } |
| 916 | 918 |
| 917 TEST(AnimationTest, TrimTimeIterationStartAlternateThreeIterations) { | 919 TEST(AnimationTest, TrimTimeIterationStartAlternateThreeIterations) { |
| 918 scoped_ptr<Animation> anim(CreateAnimation(3, 1, 1)); | 920 scoped_ptr<Animation> anim(CreateAnimation(3, 1, 1)); |
| 919 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 921 anim->set_direction(Animation::Alternate); |
| 920 anim->set_iteration_start(1); | 922 anim->set_iteration_start(1); |
| 921 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) | 923 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 922 .InSecondsF()); | 924 .InSecondsF()); |
| 923 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 925 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 924 .InSecondsF()); | 926 .InSecondsF()); |
| 925 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) | 927 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 926 .InSecondsF()); | 928 .InSecondsF()); |
| 927 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 929 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 928 .InSecondsF()); | 930 .InSecondsF()); |
| 929 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) | 931 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 930 .InSecondsF()); | 932 .InSecondsF()); |
| 931 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 933 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 932 .InSecondsF()); | 934 .InSecondsF()); |
| 933 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) | 935 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 934 .InSecondsF()); | 936 .InSecondsF()); |
| 935 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) | 937 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 936 .InSecondsF()); | 938 .InSecondsF()); |
| 937 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) | 939 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) |
| 938 .InSecondsF()); | 940 .InSecondsF()); |
| 939 } | 941 } |
| 940 | 942 |
| 941 TEST(AnimationTest, | 943 TEST(AnimationTest, |
| 942 TrimTimeIterationStartAlternateThreeIterationsPlaybackReverse) { | 944 TrimTimeIterationStartAlternateThreeIterationsPlaybackReverse) { |
| 943 scoped_ptr<Animation> anim(CreateAnimation(3, 1, -1)); | 945 scoped_ptr<Animation> anim(CreateAnimation(3, 1, -1)); |
| 944 anim->set_direction(Animation::DIRECTION_ALTERNATE); | 946 anim->set_direction(Animation::Alternate); |
| 945 anim->set_iteration_start(1); | 947 anim->set_iteration_start(1); |
| 946 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) | 948 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 947 .InSecondsF()); | 949 .InSecondsF()); |
| 948 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) | 950 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 949 .InSecondsF()); | 951 .InSecondsF()); |
| 950 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) | 952 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 951 .InSecondsF()); | 953 .InSecondsF()); |
| 952 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) | 954 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 953 .InSecondsF()); | 955 .InSecondsF()); |
| 954 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) | 956 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) |
| 955 .InSecondsF()); | 957 .InSecondsF()); |
| 956 } | 958 } |
| 957 | 959 |
| 958 TEST(AnimationTest, InEffectFillMode) { | 960 TEST(AnimationTest, InEffectFillMode) { |
| 959 scoped_ptr<Animation> anim(CreateAnimation(1)); | 961 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 960 anim->set_fill_mode(Animation::FILL_MODE_NONE); | 962 anim->set_fill_mode(Animation::FillModeNone); |
| 961 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); | 963 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 962 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 964 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 963 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 965 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 964 | 966 |
| 965 anim->set_fill_mode(Animation::FILL_MODE_FORWARDS); | 967 anim->set_fill_mode(Animation::FillModeForwards); |
| 966 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); | 968 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 967 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 969 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 968 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 970 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 969 | 971 |
| 970 anim->set_fill_mode(Animation::FILL_MODE_BACKWARDS); | 972 anim->set_fill_mode(Animation::FillModeBackwards); |
| 971 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); | 973 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 972 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 974 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 973 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 975 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 974 | 976 |
| 975 anim->set_fill_mode(Animation::FILL_MODE_BOTH); | 977 anim->set_fill_mode(Animation::FillModeBoth); |
| 976 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); | 978 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 977 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 979 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 978 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 980 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 979 } | 981 } |
| 980 | 982 |
| 981 TEST(AnimationTest, InEffectFillModePlayback) { | 983 TEST(AnimationTest, InEffectFillModePlayback) { |
| 982 scoped_ptr<Animation> anim(CreateAnimation(1, 1, -1)); | 984 scoped_ptr<Animation> anim(CreateAnimation(1, 1, -1)); |
| 983 anim->set_fill_mode(Animation::FILL_MODE_NONE); | 985 anim->set_fill_mode(Animation::FillModeNone); |
| 984 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); | 986 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 985 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 987 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 986 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 988 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 987 | 989 |
| 988 anim->set_fill_mode(Animation::FILL_MODE_FORWARDS); | 990 anim->set_fill_mode(Animation::FillModeForwards); |
| 989 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); | 991 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 990 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 992 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 991 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 993 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 992 | 994 |
| 993 anim->set_fill_mode(Animation::FILL_MODE_BACKWARDS); | 995 anim->set_fill_mode(Animation::FillModeBackwards); |
| 994 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); | 996 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 995 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 997 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 996 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 998 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 997 | 999 |
| 998 anim->set_fill_mode(Animation::FILL_MODE_BOTH); | 1000 anim->set_fill_mode(Animation::FillModeBoth); |
| 999 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); | 1001 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 1000 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 1002 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 1001 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 1003 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 1002 } | 1004 } |
| 1003 | 1005 |
| 1004 } // namespace | 1006 } // namespace |
| 1005 } // namespace cc | 1007 } // namespace cc |
| OLD | NEW |