| 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 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 scoped_ptr<Animation> CreateAnimation(double iterations, double duration) { | 34 scoped_ptr<Animation> CreateAnimation(double iterations, double duration) { |
| 35 return CreateAnimation(iterations, duration, 1); | 35 return CreateAnimation(iterations, duration, 1); |
| 36 } | 36 } |
| 37 | 37 |
| 38 scoped_ptr<Animation> CreateAnimation(double iterations) { | 38 scoped_ptr<Animation> CreateAnimation(double iterations) { |
| 39 return CreateAnimation(iterations, 1, 1); | 39 return CreateAnimation(iterations, 1, 1); |
| 40 } | 40 } |
| 41 | 41 |
| 42 TEST(AnimationTest, TrimTimeZeroIterations) { | 42 TEST(AnimationTest, TrimTimeZeroIterations) { |
| 43 scoped_ptr<Animation> anim(CreateAnimation(0)); | 43 scoped_ptr<Animation> anim(CreateAnimation(0)); |
| 44 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 44 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 45 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 45 .InSecondsF()); |
| 46 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 46 EXPECT_EQ( |
| 47 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 48 EXPECT_EQ( |
| 49 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 47 } | 50 } |
| 48 | 51 |
| 49 TEST(AnimationTest, TrimTimeOneIteration) { | 52 TEST(AnimationTest, TrimTimeOneIteration) { |
| 50 scoped_ptr<Animation> anim(CreateAnimation(1)); | 53 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 51 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 54 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 52 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 55 .InSecondsF()); |
| 53 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 56 EXPECT_EQ( |
| 54 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 57 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 58 EXPECT_EQ( |
| 59 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 60 EXPECT_EQ( |
| 61 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 55 } | 62 } |
| 56 | 63 |
| 57 TEST(AnimationTest, TrimTimeOneHalfIteration) { | 64 TEST(AnimationTest, TrimTimeOneHalfIteration) { |
| 58 scoped_ptr<Animation> anim(CreateAnimation(1.5)); | 65 scoped_ptr<Animation> anim(CreateAnimation(1.5)); |
| 59 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 66 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 60 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 67 .InSecondsF()); |
| 61 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 68 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 62 EXPECT_EQ(0.9, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.9))); | 69 .InSecondsF()); |
| 63 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 70 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 64 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 71 .InSecondsF()); |
| 65 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 72 EXPECT_EQ(0.9, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.9)) |
| 73 .InSecondsF()); |
| 74 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 75 .InSecondsF()); |
| 76 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 77 .InSecondsF()); |
| 78 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 79 .InSecondsF()); |
| 66 } | 80 } |
| 67 | 81 |
| 68 TEST(AnimationTest, TrimTimeInfiniteIterations) { | 82 TEST(AnimationTest, TrimTimeInfiniteIterations) { |
| 69 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 83 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 70 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 84 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 71 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 85 .InSecondsF()); |
| 72 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 86 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 73 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 87 .InSecondsF()); |
| 88 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 89 .InSecondsF()); |
| 90 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 91 .InSecondsF()); |
| 74 } | 92 } |
| 75 | 93 |
| 76 TEST(AnimationTest, TrimTimeReverse) { | 94 TEST(AnimationTest, TrimTimeReverse) { |
| 77 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 95 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 78 anim->set_direction(Animation::Reverse); | 96 anim->set_direction(Animation::Reverse); |
| 79 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0))); | 97 EXPECT_EQ( |
| 80 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 98 1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)).InSecondsF()); |
| 81 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 99 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 82 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 100 .InSecondsF()); |
| 83 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 101 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 84 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 102 .InSecondsF()); |
| 103 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 104 .InSecondsF()); |
| 105 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 106 .InSecondsF()); |
| 107 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 108 .InSecondsF()); |
| 85 } | 109 } |
| 86 | 110 |
| 87 TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) { | 111 TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) { |
| 88 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 112 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 89 anim->set_direction(Animation::Alternate); | 113 anim->set_direction(Animation::Alternate); |
| 90 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 114 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 91 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 115 .InSecondsF()); |
| 92 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 116 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 93 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 117 .InSecondsF()); |
| 94 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 118 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 95 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 119 .InSecondsF()); |
| 120 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 121 .InSecondsF()); |
| 122 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 123 .InSecondsF()); |
| 124 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 125 .InSecondsF()); |
| 96 } | 126 } |
| 97 | 127 |
| 98 TEST(AnimationTest, TrimTimeAlternateOneIteration) { | 128 TEST(AnimationTest, TrimTimeAlternateOneIteration) { |
| 99 scoped_ptr<Animation> anim(CreateAnimation(1)); | 129 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 100 anim->set_direction(Animation::Alternate); | 130 anim->set_direction(Animation::Alternate); |
| 101 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 131 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 102 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 132 .InSecondsF()); |
| 103 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 133 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 104 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 134 .InSecondsF()); |
| 105 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 135 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 106 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 136 .InSecondsF()); |
| 137 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 138 .InSecondsF()); |
| 139 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 140 .InSecondsF()); |
| 141 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 142 .InSecondsF()); |
| 107 } | 143 } |
| 108 | 144 |
| 109 TEST(AnimationTest, TrimTimeAlternateTwoIterations) { | 145 TEST(AnimationTest, TrimTimeAlternateTwoIterations) { |
| 110 scoped_ptr<Animation> anim(CreateAnimation(2)); | 146 scoped_ptr<Animation> anim(CreateAnimation(2)); |
| 111 anim->set_direction(Animation::Alternate); | 147 anim->set_direction(Animation::Alternate); |
| 112 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 148 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 113 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 149 .InSecondsF()); |
| 114 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 150 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 115 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 151 .InSecondsF()); |
| 116 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 152 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 117 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 153 .InSecondsF()); |
| 118 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 154 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 119 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 155 .InSecondsF()); |
| 120 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 156 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 157 .InSecondsF()); |
| 158 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 159 .InSecondsF()); |
| 160 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 161 .InSecondsF()); |
| 162 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 163 .InSecondsF()); |
| 164 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 165 .InSecondsF()); |
| 121 } | 166 } |
| 122 | 167 |
| 123 TEST(AnimationTest, TrimTimeAlternateTwoHalfIterations) { | 168 TEST(AnimationTest, TrimTimeAlternateTwoHalfIterations) { |
| 124 scoped_ptr<Animation> anim(CreateAnimation(2.5)); | 169 scoped_ptr<Animation> anim(CreateAnimation(2.5)); |
| 125 anim->set_direction(Animation::Alternate); | 170 anim->set_direction(Animation::Alternate); |
| 126 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 171 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 127 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 172 .InSecondsF()); |
| 128 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 173 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 129 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 174 .InSecondsF()); |
| 130 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 175 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 131 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 176 .InSecondsF()); |
| 132 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 177 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 133 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 178 .InSecondsF()); |
| 134 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 179 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 135 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.50))); | 180 .InSecondsF()); |
| 136 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.75))); | 181 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 182 .InSecondsF()); |
| 183 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 184 .InSecondsF()); |
| 185 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 186 .InSecondsF()); |
| 187 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 188 .InSecondsF()); |
| 189 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.50)) |
| 190 .InSecondsF()); |
| 191 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.75)) |
| 192 .InSecondsF()); |
| 137 } | 193 } |
| 138 | 194 |
| 139 TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) { | 195 TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) { |
| 140 scoped_ptr<Animation> anim(CreateAnimation(-1)); | 196 scoped_ptr<Animation> anim(CreateAnimation(-1)); |
| 141 anim->set_direction(Animation::AlternateReverse); | 197 anim->set_direction(Animation::AlternateReverse); |
| 142 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 198 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 143 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 199 .InSecondsF()); |
| 144 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 200 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 145 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 201 .InSecondsF()); |
| 146 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 202 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 147 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 203 .InSecondsF()); |
| 204 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 205 .InSecondsF()); |
| 206 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 207 .InSecondsF()); |
| 208 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 209 .InSecondsF()); |
| 148 } | 210 } |
| 149 | 211 |
| 150 TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) { | 212 TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) { |
| 151 scoped_ptr<Animation> anim(CreateAnimation(1)); | 213 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 152 anim->set_direction(Animation::AlternateReverse); | 214 anim->set_direction(Animation::AlternateReverse); |
| 153 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 215 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 154 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 216 .InSecondsF()); |
| 155 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 217 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 156 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 218 .InSecondsF()); |
| 157 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 219 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 158 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 220 .InSecondsF()); |
| 221 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 222 .InSecondsF()); |
| 223 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 224 .InSecondsF()); |
| 225 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 226 .InSecondsF()); |
| 159 } | 227 } |
| 160 | 228 |
| 161 TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) { | 229 TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) { |
| 162 scoped_ptr<Animation> anim(CreateAnimation(2)); | 230 scoped_ptr<Animation> anim(CreateAnimation(2)); |
| 163 anim->set_direction(Animation::AlternateReverse); | 231 anim->set_direction(Animation::AlternateReverse); |
| 164 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 232 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 165 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 233 .InSecondsF()); |
| 166 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 234 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 167 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 235 .InSecondsF()); |
| 168 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 236 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 169 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 237 .InSecondsF()); |
| 170 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 238 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 171 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 239 .InSecondsF()); |
| 172 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 240 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 241 .InSecondsF()); |
| 242 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 243 .InSecondsF()); |
| 244 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 245 .InSecondsF()); |
| 246 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 247 .InSecondsF()); |
| 248 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 249 .InSecondsF()); |
| 173 } | 250 } |
| 174 | 251 |
| 175 TEST(AnimationTest, TrimTimeStartTime) { | 252 TEST(AnimationTest, TrimTimeStartTime) { |
| 176 scoped_ptr<Animation> anim(CreateAnimation(1)); | 253 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 177 anim->set_start_time(TicksFromSecondsF(4)); | 254 anim->set_start_time(TicksFromSecondsF(4)); |
| 178 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 255 EXPECT_EQ( |
| 179 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0))); | 256 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 180 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5))); | 257 EXPECT_EQ( |
| 181 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0))); | 258 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)).InSecondsF()); |
| 182 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0))); | 259 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 260 .InSecondsF()); |
| 261 EXPECT_EQ( |
| 262 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 263 EXPECT_EQ( |
| 264 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)).InSecondsF()); |
| 183 } | 265 } |
| 184 | 266 |
| 185 TEST(AnimationTest, TrimTimeStartTimeReverse) { | 267 TEST(AnimationTest, TrimTimeStartTimeReverse) { |
| 186 scoped_ptr<Animation> anim(CreateAnimation(1)); | 268 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 187 anim->set_start_time(TicksFromSecondsF(4)); | 269 anim->set_start_time(TicksFromSecondsF(4)); |
| 188 anim->set_direction(Animation::Reverse); | 270 anim->set_direction(Animation::Reverse); |
| 189 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 271 EXPECT_EQ( |
| 190 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0))); | 272 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 191 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5))); | 273 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) |
| 192 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0))); | 274 .InSecondsF()); |
| 193 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0))); | 275 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 276 .InSecondsF()); |
| 277 EXPECT_EQ( |
| 278 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 279 EXPECT_EQ( |
| 280 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)).InSecondsF()); |
| 194 } | 281 } |
| 195 | 282 |
| 196 TEST(AnimationTest, TrimTimeTimeOffset) { | 283 TEST(AnimationTest, TrimTimeTimeOffset) { |
| 197 scoped_ptr<Animation> anim(CreateAnimation(1)); | 284 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 198 anim->set_time_offset(TimeDelta::FromMilliseconds(4000)); | 285 anim->set_time_offset(TimeDelta::FromMilliseconds(4000)); |
| 199 anim->set_start_time(TicksFromSecondsF(4)); | 286 anim->set_start_time(TicksFromSecondsF(4)); |
| 200 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 287 EXPECT_EQ( |
| 201 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 288 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 202 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 289 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 203 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 290 .InSecondsF()); |
| 291 EXPECT_EQ( |
| 292 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 293 EXPECT_EQ( |
| 294 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 204 } | 295 } |
| 205 | 296 |
| 206 TEST(AnimationTest, TrimTimeTimeOffsetReverse) { | 297 TEST(AnimationTest, TrimTimeTimeOffsetReverse) { |
| 207 scoped_ptr<Animation> anim(CreateAnimation(1)); | 298 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 208 anim->set_time_offset(TimeDelta::FromMilliseconds(4000)); | 299 anim->set_time_offset(TimeDelta::FromMilliseconds(4000)); |
| 209 anim->set_start_time(TicksFromSecondsF(4)); | 300 anim->set_start_time(TicksFromSecondsF(4)); |
| 210 anim->set_direction(Animation::Reverse); | 301 anim->set_direction(Animation::Reverse); |
| 211 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 302 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 212 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 303 .InSecondsF()); |
| 213 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 304 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 214 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 305 .InSecondsF()); |
| 306 EXPECT_EQ( |
| 307 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 308 EXPECT_EQ( |
| 309 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 215 } | 310 } |
| 216 | 311 |
| 217 TEST(AnimationTest, TrimTimeNegativeTimeOffset) { | 312 TEST(AnimationTest, TrimTimeNegativeTimeOffset) { |
| 218 scoped_ptr<Animation> anim(CreateAnimation(1)); | 313 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 219 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); | 314 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); |
| 220 | 315 |
| 221 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 316 EXPECT_EQ( |
| 222 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0))); | 317 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 223 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5))); | 318 EXPECT_EQ( |
| 224 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0))); | 319 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)).InSecondsF()); |
| 320 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 321 .InSecondsF()); |
| 322 EXPECT_EQ( |
| 323 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 225 } | 324 } |
| 226 | 325 |
| 227 TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) { | 326 TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) { |
| 228 scoped_ptr<Animation> anim(CreateAnimation(1)); | 327 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 229 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); | 328 anim->set_time_offset(TimeDelta::FromMilliseconds(-4000)); |
| 230 anim->set_direction(Animation::Reverse); | 329 anim->set_direction(Animation::Reverse); |
| 231 | 330 |
| 232 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 331 EXPECT_EQ( |
| 233 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0))); | 332 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 234 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5))); | 333 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) |
| 235 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0))); | 334 .InSecondsF()); |
| 335 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 336 .InSecondsF()); |
| 337 EXPECT_EQ( |
| 338 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)).InSecondsF()); |
| 236 } | 339 } |
| 237 | 340 |
| 238 TEST(AnimationTest, TrimTimePauseResume) { | 341 TEST(AnimationTest, TrimTimePauseResume) { |
| 239 scoped_ptr<Animation> anim(CreateAnimation(1)); | 342 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 240 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 343 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 241 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 344 EXPECT_EQ( |
| 242 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 345 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 346 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 347 .InSecondsF()); |
| 243 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.5)); | 348 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.5)); |
| 244 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 349 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 350 .InSecondsF()); |
| 245 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0)); | 351 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0)); |
| 246 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 352 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 247 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5))); | 353 .InSecondsF()); |
| 354 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)) |
| 355 .InSecondsF()); |
| 248 } | 356 } |
| 249 | 357 |
| 250 TEST(AnimationTest, TrimTimePauseResumeReverse) { | 358 TEST(AnimationTest, TrimTimePauseResumeReverse) { |
| 251 scoped_ptr<Animation> anim(CreateAnimation(1)); | 359 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 252 anim->set_direction(Animation::Reverse); | 360 anim->set_direction(Animation::Reverse); |
| 253 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 361 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 254 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 362 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 255 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 363 .InSecondsF()); |
| 364 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 365 .InSecondsF()); |
| 256 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.25)); | 366 anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.25)); |
| 257 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 367 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 368 .InSecondsF()); |
| 258 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0)); | 369 anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0)); |
| 259 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 370 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 260 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.75))); | 371 .InSecondsF()); |
| 372 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.75)) |
| 373 .InSecondsF()); |
| 261 } | 374 } |
| 262 | 375 |
| 263 TEST(AnimationTest, TrimTimeSuspendResume) { | 376 TEST(AnimationTest, TrimTimeSuspendResume) { |
| 264 scoped_ptr<Animation> anim(CreateAnimation(1)); | 377 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 265 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 378 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 266 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 379 EXPECT_EQ( |
| 267 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 380 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 381 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 382 .InSecondsF()); |
| 268 anim->Suspend(TicksFromSecondsF(0.5)); | 383 anim->Suspend(TicksFromSecondsF(0.5)); |
| 269 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 384 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 385 .InSecondsF()); |
| 270 anim->Resume(TicksFromSecondsF(1024)); | 386 anim->Resume(TicksFromSecondsF(1024)); |
| 271 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 387 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 272 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5))); | 388 .InSecondsF()); |
| 389 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)) |
| 390 .InSecondsF()); |
| 273 } | 391 } |
| 274 | 392 |
| 275 TEST(AnimationTest, TrimTimeSuspendResumeReverse) { | 393 TEST(AnimationTest, TrimTimeSuspendResumeReverse) { |
| 276 scoped_ptr<Animation> anim(CreateAnimation(1)); | 394 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 277 anim->set_direction(Animation::Reverse); | 395 anim->set_direction(Animation::Reverse); |
| 278 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 396 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 279 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 397 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 280 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 398 .InSecondsF()); |
| 399 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 400 .InSecondsF()); |
| 281 anim->Suspend(TicksFromSecondsF(0.75)); | 401 anim->Suspend(TicksFromSecondsF(0.75)); |
| 282 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 402 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 403 .InSecondsF()); |
| 283 anim->Resume(TicksFromSecondsF(1024)); | 404 anim->Resume(TicksFromSecondsF(1024)); |
| 284 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0))); | 405 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)) |
| 285 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.25))); | 406 .InSecondsF()); |
| 407 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.25)) |
| 408 .InSecondsF()); |
| 286 } | 409 } |
| 287 | 410 |
| 288 TEST(AnimationTest, TrimTimeZeroDuration) { | 411 TEST(AnimationTest, TrimTimeZeroDuration) { |
| 289 scoped_ptr<Animation> anim(CreateAnimation(0, 0)); | 412 scoped_ptr<Animation> anim(CreateAnimation(0, 0)); |
| 290 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 413 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 291 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 414 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 292 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 415 .InSecondsF()); |
| 293 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 416 EXPECT_EQ( |
| 417 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 418 EXPECT_EQ( |
| 419 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 294 } | 420 } |
| 295 | 421 |
| 296 TEST(AnimationTest, TrimTimeStarting) { | 422 TEST(AnimationTest, TrimTimeStarting) { |
| 297 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); | 423 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); |
| 298 anim->SetRunState(Animation::Starting, TicksFromSecondsF(0.0)); | 424 anim->SetRunState(Animation::Starting, TicksFromSecondsF(0.0)); |
| 299 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 425 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 300 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 426 .InSecondsF()); |
| 301 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 427 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 428 .InSecondsF()); |
| 429 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 430 .InSecondsF()); |
| 302 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); | 431 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); |
| 303 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 432 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 304 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 433 .InSecondsF()); |
| 305 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 434 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 435 .InSecondsF()); |
| 436 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 437 .InSecondsF()); |
| 306 anim->set_start_time(TicksFromSecondsF(1.0)); | 438 anim->set_start_time(TicksFromSecondsF(1.0)); |
| 307 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 439 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 308 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 440 .InSecondsF()); |
| 309 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 441 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 310 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 442 .InSecondsF()); |
| 443 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 444 .InSecondsF()); |
| 445 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 446 .InSecondsF()); |
| 311 } | 447 } |
| 312 | 448 |
| 313 TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) { | 449 TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) { |
| 314 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); | 450 scoped_ptr<Animation> anim(CreateAnimation(1, 5.0)); |
| 315 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 451 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 316 anim->set_needs_synchronized_start_time(true); | 452 anim->set_needs_synchronized_start_time(true); |
| 317 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 453 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 318 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 454 .InSecondsF()); |
| 319 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 455 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 456 .InSecondsF()); |
| 457 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 458 .InSecondsF()); |
| 320 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); | 459 anim->set_time_offset(TimeDelta::FromMilliseconds(2000)); |
| 321 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 460 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 322 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 461 .InSecondsF()); |
| 323 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 462 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 463 .InSecondsF()); |
| 464 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 465 .InSecondsF()); |
| 324 anim->set_start_time(TicksFromSecondsF(1.0)); | 466 anim->set_start_time(TicksFromSecondsF(1.0)); |
| 325 anim->set_needs_synchronized_start_time(false); | 467 anim->set_needs_synchronized_start_time(false); |
| 326 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 468 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 327 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 469 .InSecondsF()); |
| 328 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 470 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 471 .InSecondsF()); |
| 472 EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 473 .InSecondsF()); |
| 329 } | 474 } |
| 330 | 475 |
| 331 TEST(AnimationTest, IsFinishedAtZeroIterations) { | 476 TEST(AnimationTest, IsFinishedAtZeroIterations) { |
| 332 scoped_ptr<Animation> anim(CreateAnimation(0)); | 477 scoped_ptr<Animation> anim(CreateAnimation(0)); |
| 333 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 478 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 334 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); | 479 EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0))); |
| 335 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); | 480 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0))); |
| 336 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); | 481 EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0))); |
| 337 } | 482 } |
| 338 | 483 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 EXPECT_EQ(Animation::Paused, anim->run_state()); | 575 EXPECT_EQ(Animation::Paused, anim->run_state()); |
| 431 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 576 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 432 EXPECT_EQ(Animation::Paused, anim->run_state()); | 577 EXPECT_EQ(Animation::Paused, anim->run_state()); |
| 433 anim->Resume(TicksFromSecondsF(0)); | 578 anim->Resume(TicksFromSecondsF(0)); |
| 434 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); | 579 anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0)); |
| 435 EXPECT_EQ(Animation::Running, anim->run_state()); | 580 EXPECT_EQ(Animation::Running, anim->run_state()); |
| 436 } | 581 } |
| 437 | 582 |
| 438 TEST(AnimationTest, TrimTimePlaybackNormal) { | 583 TEST(AnimationTest, TrimTimePlaybackNormal) { |
| 439 scoped_ptr<Animation> anim(CreateAnimation(1, 1, 1)); | 584 scoped_ptr<Animation> anim(CreateAnimation(1, 1, 1)); |
| 440 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 585 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 441 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 586 .InSecondsF()); |
| 442 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 587 EXPECT_EQ( |
| 443 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 588 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 444 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 589 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 590 .InSecondsF()); |
| 591 EXPECT_EQ( |
| 592 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 593 EXPECT_EQ( |
| 594 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 445 } | 595 } |
| 446 | 596 |
| 447 TEST(AnimationTest, TrimTimePlaybackSlow) { | 597 TEST(AnimationTest, TrimTimePlaybackSlow) { |
| 448 scoped_ptr<Animation> anim(CreateAnimation(1, 1, 0.5)); | 598 scoped_ptr<Animation> anim(CreateAnimation(1, 1, 0.5)); |
| 449 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 599 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 450 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 600 .InSecondsF()); |
| 451 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 601 EXPECT_EQ( |
| 452 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 602 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 453 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 603 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 454 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0))); | 604 .InSecondsF()); |
| 605 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 606 .InSecondsF()); |
| 607 EXPECT_EQ( |
| 608 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 609 EXPECT_EQ( |
| 610 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)).InSecondsF()); |
| 455 } | 611 } |
| 456 | 612 |
| 457 TEST(AnimationTest, TrimTimePlaybackFast) { | 613 TEST(AnimationTest, TrimTimePlaybackFast) { |
| 458 scoped_ptr<Animation> anim(CreateAnimation(1, 4, 2)); | 614 scoped_ptr<Animation> anim(CreateAnimation(1, 4, 2)); |
| 459 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 615 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 460 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 616 .InSecondsF()); |
| 461 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 617 EXPECT_EQ( |
| 462 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 618 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 463 EXPECT_EQ(3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 619 EXPECT_EQ( |
| 464 EXPECT_EQ(4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 620 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)).InSecondsF()); |
| 465 EXPECT_EQ(4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 621 EXPECT_EQ( |
| 622 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 623 EXPECT_EQ( |
| 624 3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); |
| 625 EXPECT_EQ( |
| 626 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 627 EXPECT_EQ( |
| 628 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)).InSecondsF()); |
| 466 } | 629 } |
| 467 | 630 |
| 468 TEST(AnimationTest, TrimTimePlaybackNormalReverse) { | 631 TEST(AnimationTest, TrimTimePlaybackNormalReverse) { |
| 469 scoped_ptr<Animation> anim(CreateAnimation(1, 2, -1)); | 632 scoped_ptr<Animation> anim(CreateAnimation(1, 2, -1)); |
| 470 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 633 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 471 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0))); | 634 .InSecondsF()); |
| 472 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 635 EXPECT_EQ( |
| 473 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 636 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)).InSecondsF()); |
| 474 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 637 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 475 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 638 .InSecondsF()); |
| 476 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 639 EXPECT_EQ( |
| 640 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 641 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 642 .InSecondsF()); |
| 643 EXPECT_EQ( |
| 644 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 645 EXPECT_EQ( |
| 646 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)).InSecondsF()); |
| 477 } | 647 } |
| 478 | 648 |
| 479 TEST(AnimationTest, TrimTimePlaybackSlowReverse) { | 649 TEST(AnimationTest, TrimTimePlaybackSlowReverse) { |
| 480 scoped_ptr<Animation> anim(CreateAnimation(1, 2, -0.5)); | 650 scoped_ptr<Animation> anim(CreateAnimation(1, 2, -0.5)); |
| 481 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 651 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 482 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0))); | 652 .InSecondsF()); |
| 483 EXPECT_EQ(1.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 653 EXPECT_EQ( |
| 484 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 654 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)).InSecondsF()); |
| 485 EXPECT_EQ(1.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 655 EXPECT_EQ(1.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 486 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 656 .InSecondsF()); |
| 487 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 657 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 488 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3))); | 658 .InSecondsF()); |
| 489 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5))); | 659 EXPECT_EQ(1.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 490 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4))); | 660 .InSecondsF()); |
| 491 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5))); | 661 EXPECT_EQ( |
| 662 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 663 EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 664 .InSecondsF()); |
| 665 EXPECT_EQ( |
| 666 0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3)).InSecondsF()); |
| 667 EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) |
| 668 .InSecondsF()); |
| 669 EXPECT_EQ( |
| 670 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4)).InSecondsF()); |
| 671 EXPECT_EQ( |
| 672 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)).InSecondsF()); |
| 492 } | 673 } |
| 493 | 674 |
| 494 TEST(AnimationTest, TrimTimePlaybackFastReverse) { | 675 TEST(AnimationTest, TrimTimePlaybackFastReverse) { |
| 495 scoped_ptr<Animation> anim(CreateAnimation(1, 2, -2)); | 676 scoped_ptr<Animation> anim(CreateAnimation(1, 2, -2)); |
| 496 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 677 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 497 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0))); | 678 .InSecondsF()); |
| 498 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 679 EXPECT_EQ( |
| 499 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 680 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)).InSecondsF()); |
| 500 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 681 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 501 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 682 .InSecondsF()); |
| 502 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 683 EXPECT_EQ( |
| 684 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)).InSecondsF()); |
| 685 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 686 .InSecondsF()); |
| 687 EXPECT_EQ( |
| 688 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 689 EXPECT_EQ( |
| 690 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); |
| 503 } | 691 } |
| 504 | 692 |
| 505 TEST(AnimationTest, TrimTimePlaybackFastInfiniteIterations) { | 693 TEST(AnimationTest, TrimTimePlaybackFastInfiniteIterations) { |
| 506 scoped_ptr<Animation> anim(CreateAnimation(-1, 4, 4)); | 694 scoped_ptr<Animation> anim(CreateAnimation(-1, 4, 4)); |
| 507 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 695 EXPECT_EQ( |
| 508 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 696 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 509 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 697 EXPECT_EQ( |
| 510 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 698 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)).InSecondsF()); |
| 511 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.0))); | 699 EXPECT_EQ( |
| 512 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.5))); | 700 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 701 EXPECT_EQ( |
| 702 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); |
| 703 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.0)) |
| 704 .InSecondsF()); |
| 705 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1000.5)) |
| 706 .InSecondsF()); |
| 513 } | 707 } |
| 514 | 708 |
| 515 TEST(AnimationTest, TrimTimePlaybackNormalDoubleReverse) { | 709 TEST(AnimationTest, TrimTimePlaybackNormalDoubleReverse) { |
| 516 scoped_ptr<Animation> anim(CreateAnimation(1, 1, -1)); | 710 scoped_ptr<Animation> anim(CreateAnimation(1, 1, -1)); |
| 517 anim->set_direction(Animation::Reverse); | 711 anim->set_direction(Animation::Reverse); |
| 518 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 712 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 519 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 713 .InSecondsF()); |
| 520 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 714 EXPECT_EQ( |
| 521 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 715 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 522 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 716 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 717 .InSecondsF()); |
| 718 EXPECT_EQ( |
| 719 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 720 EXPECT_EQ( |
| 721 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 523 } | 722 } |
| 524 | 723 |
| 525 TEST(AnimationTest, TrimTimePlaybackFastDoubleReverse) { | 724 TEST(AnimationTest, TrimTimePlaybackFastDoubleReverse) { |
| 526 scoped_ptr<Animation> anim(CreateAnimation(1, 4, -2)); | 725 scoped_ptr<Animation> anim(CreateAnimation(1, 4, -2)); |
| 527 anim->set_direction(Animation::Reverse); | 726 anim->set_direction(Animation::Reverse); |
| 528 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 727 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 529 EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 728 .InSecondsF()); |
| 530 EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 729 EXPECT_EQ( |
| 531 EXPECT_EQ(2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 730 0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)).InSecondsF()); |
| 532 EXPECT_EQ(3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 731 EXPECT_EQ( |
| 533 EXPECT_EQ(4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 732 1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)).InSecondsF()); |
| 534 EXPECT_EQ(4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 733 EXPECT_EQ( |
| 734 2, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)).InSecondsF()); |
| 735 EXPECT_EQ( |
| 736 3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)).InSecondsF()); |
| 737 EXPECT_EQ( |
| 738 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)).InSecondsF()); |
| 739 EXPECT_EQ( |
| 740 4, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)).InSecondsF()); |
| 535 } | 741 } |
| 536 | 742 |
| 537 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFast) { | 743 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFast) { |
| 538 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); | 744 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); |
| 539 anim->set_direction(Animation::Alternate); | 745 anim->set_direction(Animation::Alternate); |
| 540 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 746 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 541 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 747 .InSecondsF()); |
| 542 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 748 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 543 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 749 .InSecondsF()); |
| 544 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 750 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 545 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 751 .InSecondsF()); |
| 546 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 752 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 547 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 753 .InSecondsF()); |
| 548 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 754 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 549 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 755 .InSecondsF()); |
| 756 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 757 .InSecondsF()); |
| 758 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 759 .InSecondsF()); |
| 760 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 761 .InSecondsF()); |
| 762 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 763 .InSecondsF()); |
| 764 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 765 .InSecondsF()); |
| 550 } | 766 } |
| 551 | 767 |
| 552 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastReverse) { | 768 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastReverse) { |
| 553 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); | 769 scoped_ptr<Animation> anim(CreateAnimation(2, 2, 2)); |
| 554 anim->set_direction(Animation::AlternateReverse); | 770 anim->set_direction(Animation::AlternateReverse); |
| 555 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 771 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 556 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 772 .InSecondsF()); |
| 557 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 773 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 558 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 774 .InSecondsF()); |
| 559 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 775 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 560 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 776 .InSecondsF()); |
| 561 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 777 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 562 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 778 .InSecondsF()); |
| 563 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 779 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 564 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 780 .InSecondsF()); |
| 565 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 781 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 782 .InSecondsF()); |
| 783 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 784 .InSecondsF()); |
| 785 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 786 .InSecondsF()); |
| 787 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 788 .InSecondsF()); |
| 789 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 790 .InSecondsF()); |
| 791 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 792 .InSecondsF()); |
| 566 } | 793 } |
| 567 | 794 |
| 568 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastDoubleReverse) { | 795 TEST(AnimationTest, TrimTimeAlternateTwoIterationsPlaybackFastDoubleReverse) { |
| 569 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -2)); | 796 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -2)); |
| 570 anim->set_direction(Animation::AlternateReverse); | 797 anim->set_direction(Animation::AlternateReverse); |
| 571 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 798 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 572 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 799 .InSecondsF()); |
| 573 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 800 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 574 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 801 .InSecondsF()); |
| 575 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 802 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 576 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 803 .InSecondsF()); |
| 577 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 804 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 578 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 805 .InSecondsF()); |
| 579 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 806 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 580 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 807 .InSecondsF()); |
| 808 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 809 .InSecondsF()); |
| 810 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 811 .InSecondsF()); |
| 812 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 813 .InSecondsF()); |
| 814 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 815 .InSecondsF()); |
| 816 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 817 .InSecondsF()); |
| 581 } | 818 } |
| 582 | 819 |
| 583 TEST(AnimationTest, | 820 TEST(AnimationTest, |
| 584 TrimTimeAlternateReverseThreeIterationsPlaybackFastAlternateReverse) { | 821 TrimTimeAlternateReverseThreeIterationsPlaybackFastAlternateReverse) { |
| 585 scoped_ptr<Animation> anim(CreateAnimation(3, 2, -2)); | 822 scoped_ptr<Animation> anim(CreateAnimation(3, 2, -2)); |
| 586 anim->set_direction(Animation::AlternateReverse); | 823 anim->set_direction(Animation::AlternateReverse); |
| 587 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 824 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 588 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25))); | 825 .InSecondsF()); |
| 589 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 826 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)) |
| 590 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75))); | 827 .InSecondsF()); |
| 591 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 828 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 592 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25))); | 829 .InSecondsF()); |
| 593 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 830 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)) |
| 594 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75))); | 831 .InSecondsF()); |
| 595 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 832 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 596 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25))); | 833 .InSecondsF()); |
| 597 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 834 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)) |
| 598 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.75))); | 835 .InSecondsF()); |
| 599 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0))); | 836 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 600 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.25))); | 837 .InSecondsF()); |
| 838 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)) |
| 839 .InSecondsF()); |
| 840 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 841 .InSecondsF()); |
| 842 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)) |
| 843 .InSecondsF()); |
| 844 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 845 .InSecondsF()); |
| 846 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.75)) |
| 847 .InSecondsF()); |
| 848 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 849 .InSecondsF()); |
| 850 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.25)) |
| 851 .InSecondsF()); |
| 601 } | 852 } |
| 602 | 853 |
| 603 TEST(AnimationTest, | 854 TEST(AnimationTest, |
| 604 TrimTimeAlternateReverseTwoIterationsPlaybackNormalAlternate) { | 855 TrimTimeAlternateReverseTwoIterationsPlaybackNormalAlternate) { |
| 605 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -1)); | 856 scoped_ptr<Animation> anim(CreateAnimation(2, 2, -1)); |
| 606 anim->set_direction(Animation::Alternate); | 857 anim->set_direction(Animation::Alternate); |
| 607 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 858 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 608 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 859 .InSecondsF()); |
| 609 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 860 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 610 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 861 .InSecondsF()); |
| 611 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 862 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 612 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 863 .InSecondsF()); |
| 613 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0))); | 864 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 614 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5))); | 865 .InSecondsF()); |
| 615 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0))); | 866 EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 616 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5))); | 867 .InSecondsF()); |
| 868 EXPECT_EQ(1.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 869 .InSecondsF()); |
| 870 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 871 .InSecondsF()); |
| 872 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) |
| 873 .InSecondsF()); |
| 874 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)) |
| 875 .InSecondsF()); |
| 876 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)) |
| 877 .InSecondsF()); |
| 617 } | 878 } |
| 618 | 879 |
| 619 TEST(AnimationTest, TrimTimeIterationStart) { | 880 TEST(AnimationTest, TrimTimeIterationStart) { |
| 620 scoped_ptr<Animation> anim(CreateAnimation(2, 1, 1)); | 881 scoped_ptr<Animation> anim(CreateAnimation(2, 1, 1)); |
| 621 anim->set_iteration_start(0.5); | 882 anim->set_iteration_start(0.5); |
| 622 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 883 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 623 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 884 .InSecondsF()); |
| 624 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 885 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 625 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 886 .InSecondsF()); |
| 626 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 887 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 627 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 888 .InSecondsF()); |
| 628 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 889 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 890 .InSecondsF()); |
| 891 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 892 .InSecondsF()); |
| 893 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 894 .InSecondsF()); |
| 895 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 896 .InSecondsF()); |
| 629 } | 897 } |
| 630 | 898 |
| 631 TEST(AnimationTest, TrimTimeIterationStartAlternate) { | 899 TEST(AnimationTest, TrimTimeIterationStartAlternate) { |
| 632 scoped_ptr<Animation> anim(CreateAnimation(2, 1, 1)); | 900 scoped_ptr<Animation> anim(CreateAnimation(2, 1, 1)); |
| 633 anim->set_direction(Animation::Alternate); | 901 anim->set_direction(Animation::Alternate); |
| 634 anim->set_iteration_start(0.3); | 902 anim->set_iteration_start(0.3); |
| 635 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 903 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 636 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 904 .InSecondsF()); |
| 637 EXPECT_EQ(0.8, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 905 EXPECT_EQ(0.3, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 638 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.7))); | 906 .InSecondsF()); |
| 639 EXPECT_EQ(0.7, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 907 EXPECT_EQ(0.8, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 640 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.2))); | 908 .InSecondsF()); |
| 641 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.7))); | 909 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.7)) |
| 910 .InSecondsF()); |
| 911 EXPECT_EQ(0.7, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 912 .InSecondsF()); |
| 913 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.2)) |
| 914 .InSecondsF()); |
| 915 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.7)) |
| 916 .InSecondsF()); |
| 642 } | 917 } |
| 643 | 918 |
| 644 TEST(AnimationTest, TrimTimeIterationStartAlternateThreeIterations) { | 919 TEST(AnimationTest, TrimTimeIterationStartAlternateThreeIterations) { |
| 645 scoped_ptr<Animation> anim(CreateAnimation(3, 1, 1)); | 920 scoped_ptr<Animation> anim(CreateAnimation(3, 1, 1)); |
| 646 anim->set_direction(Animation::Alternate); | 921 anim->set_direction(Animation::Alternate); |
| 647 anim->set_iteration_start(1); | 922 anim->set_iteration_start(1); |
| 648 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0))); | 923 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)) |
| 649 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 924 .InSecondsF()); |
| 650 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5))); | 925 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 651 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 926 .InSecondsF()); |
| 652 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5))); | 927 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)) |
| 653 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 928 .InSecondsF()); |
| 654 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5))); | 929 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 655 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0))); | 930 .InSecondsF()); |
| 656 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5))); | 931 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)) |
| 932 .InSecondsF()); |
| 933 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 934 .InSecondsF()); |
| 935 EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.5)) |
| 936 .InSecondsF()); |
| 937 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 938 .InSecondsF()); |
| 939 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) |
| 940 .InSecondsF()); |
| 657 } | 941 } |
| 658 | 942 |
| 659 TEST(AnimationTest, | 943 TEST(AnimationTest, |
| 660 TrimTimeIterationStartAlternateThreeIterationsPlaybackReverse) { | 944 TrimTimeIterationStartAlternateThreeIterationsPlaybackReverse) { |
| 661 scoped_ptr<Animation> anim(CreateAnimation(3, 1, -1)); | 945 scoped_ptr<Animation> anim(CreateAnimation(3, 1, -1)); |
| 662 anim->set_direction(Animation::Alternate); | 946 anim->set_direction(Animation::Alternate); |
| 663 anim->set_iteration_start(1); | 947 anim->set_iteration_start(1); |
| 664 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0))); | 948 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)) |
| 665 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0))); | 949 .InSecondsF()); |
| 666 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0))); | 950 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)) |
| 667 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0))); | 951 .InSecondsF()); |
| 668 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5))); | 952 EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)) |
| 953 .InSecondsF()); |
| 954 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.0)) |
| 955 .InSecondsF()); |
| 956 EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(3.5)) |
| 957 .InSecondsF()); |
| 669 } | 958 } |
| 670 | 959 |
| 671 TEST(AnimationTest, InEffectFillMode) { | 960 TEST(AnimationTest, InEffectFillMode) { |
| 672 scoped_ptr<Animation> anim(CreateAnimation(1)); | 961 scoped_ptr<Animation> anim(CreateAnimation(1)); |
| 673 anim->set_fill_mode(Animation::FillModeNone); | 962 anim->set_fill_mode(Animation::FillModeNone); |
| 674 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); | 963 EXPECT_FALSE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 675 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 964 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 676 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 965 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 677 | 966 |
| 678 anim->set_fill_mode(Animation::FillModeForwards); | 967 anim->set_fill_mode(Animation::FillModeForwards); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 709 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 998 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 710 | 999 |
| 711 anim->set_fill_mode(Animation::FillModeBoth); | 1000 anim->set_fill_mode(Animation::FillModeBoth); |
| 712 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); | 1001 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(-1.0))); |
| 713 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); | 1002 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(0.0))); |
| 714 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); | 1003 EXPECT_TRUE(anim->InEffect(TicksFromSecondsF(1.0))); |
| 715 } | 1004 } |
| 716 | 1005 |
| 717 } // namespace | 1006 } // namespace |
| 718 } // namespace cc | 1007 } // namespace cc |
| OLD | NEW |