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