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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "WebTransformAnimationCurveImpl.h" | 7 #include "WebTransformAnimationCurveImpl.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "cc/timing_function.h" | 9 #include "cc/timing_function.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 TEST(WebTransformAnimationCurveTest, EaseTimingFunction) | 146 TEST(WebTransformAnimationCurveTest, EaseTimingFunction) |
147 { | 147 { |
148 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 148 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
149 WebKit::WebTransformOperations operations1; | 149 WebKit::WebTransformOperations operations1; |
150 operations1.appendTranslate(0, 0, 0); | 150 operations1.appendTranslate(0, 0, 0); |
151 WebKit::WebTransformOperations operations2; | 151 WebKit::WebTransformOperations operations2; |
152 operations2.appendTranslate(1, 0, 0); | 152 operations2.appendTranslate(1, 0, 0); |
153 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEase); | 153 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEase); |
154 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); | 154 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); |
155 | 155 |
156 scoped_ptr<cc::CCTimingFunction> timingFunction(cc::CCEaseTimingFunction::cr
eate()); | 156 scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseTimingFunction::create
()); |
157 for (int i = 0; i <= 4; ++i) { | 157 for (int i = 0; i <= 4; ++i) { |
158 const double time = i * 0.25; | 158 const double time = i * 0.25; |
159 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); | 159 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); |
160 } | 160 } |
161 } | 161 } |
162 | 162 |
163 // Tests using a linear timing function. | 163 // Tests using a linear timing function. |
164 TEST(WebTransformAnimationCurveTest, LinearTimingFunction) | 164 TEST(WebTransformAnimationCurveTest, LinearTimingFunction) |
165 { | 165 { |
166 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 166 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
(...skipping 14 matching lines...) Expand all Loading... |
181 TEST(WebTransformAnimationCurveTest, EaseInTimingFunction) | 181 TEST(WebTransformAnimationCurveTest, EaseInTimingFunction) |
182 { | 182 { |
183 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 183 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
184 WebKit::WebTransformOperations operations1; | 184 WebKit::WebTransformOperations operations1; |
185 operations1.appendTranslate(0, 0, 0); | 185 operations1.appendTranslate(0, 0, 0); |
186 WebKit::WebTransformOperations operations2; | 186 WebKit::WebTransformOperations operations2; |
187 operations2.appendTranslate(1, 0, 0); | 187 operations2.appendTranslate(1, 0, 0); |
188 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEaseIn); | 188 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEaseIn); |
189 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); | 189 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); |
190 | 190 |
191 scoped_ptr<cc::CCTimingFunction> timingFunction(cc::CCEaseInTimingFunction::
create()); | 191 scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseInTimingFunction::crea
te()); |
192 for (int i = 0; i <= 4; ++i) { | 192 for (int i = 0; i <= 4; ++i) { |
193 const double time = i * 0.25; | 193 const double time = i * 0.25; |
194 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); | 194 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); |
195 } | 195 } |
196 } | 196 } |
197 | 197 |
198 // Tests that an ease in timing function works as expected. | 198 // Tests that an ease in timing function works as expected. |
199 TEST(WebTransformAnimationCurveTest, EaseOutTimingFunction) | 199 TEST(WebTransformAnimationCurveTest, EaseOutTimingFunction) |
200 { | 200 { |
201 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 201 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
202 WebKit::WebTransformOperations operations1; | 202 WebKit::WebTransformOperations operations1; |
203 operations1.appendTranslate(0, 0, 0); | 203 operations1.appendTranslate(0, 0, 0); |
204 WebKit::WebTransformOperations operations2; | 204 WebKit::WebTransformOperations operations2; |
205 operations2.appendTranslate(1, 0, 0); | 205 operations2.appendTranslate(1, 0, 0); |
206 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEaseOut); | 206 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEaseOut); |
207 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); | 207 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); |
208 | 208 |
209 scoped_ptr<cc::CCTimingFunction> timingFunction(cc::CCEaseOutTimingFunction:
:create()); | 209 scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseOutTimingFunction::cre
ate()); |
210 for (int i = 0; i <= 4; ++i) { | 210 for (int i = 0; i <= 4; ++i) { |
211 const double time = i * 0.25; | 211 const double time = i * 0.25; |
212 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); | 212 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); |
213 } | 213 } |
214 } | 214 } |
215 | 215 |
216 // Tests that an ease in timing function works as expected. | 216 // Tests that an ease in timing function works as expected. |
217 TEST(WebTransformAnimationCurveTest, EaseInOutTimingFunction) | 217 TEST(WebTransformAnimationCurveTest, EaseInOutTimingFunction) |
218 { | 218 { |
219 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 219 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
220 WebKit::WebTransformOperations operations1; | 220 WebKit::WebTransformOperations operations1; |
221 operations1.appendTranslate(0, 0, 0); | 221 operations1.appendTranslate(0, 0, 0); |
222 WebKit::WebTransformOperations operations2; | 222 WebKit::WebTransformOperations operations2; |
223 operations2.appendTranslate(1, 0, 0); | 223 operations2.appendTranslate(1, 0, 0); |
224 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEaseInOut); | 224 curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFu
nctionTypeEaseInOut); |
225 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); | 225 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); |
226 | 226 |
227 scoped_ptr<cc::CCTimingFunction> timingFunction(cc::CCEaseInOutTimingFunctio
n::create()); | 227 scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseInOutTimingFunction::c
reate()); |
228 for (int i = 0; i <= 4; ++i) { | 228 for (int i = 0; i <= 4; ++i) { |
229 const double time = i * 0.25; | 229 const double time = i * 0.25; |
230 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); | 230 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); |
231 } | 231 } |
232 } | 232 } |
233 | 233 |
234 // Tests that an ease in timing function works as expected. | 234 // Tests that an ease in timing function works as expected. |
235 TEST(WebTransformAnimationCurveTest, CustomBezierTimingFunction) | 235 TEST(WebTransformAnimationCurveTest, CustomBezierTimingFunction) |
236 { | 236 { |
237 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 237 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
238 double x1 = 0.3; | 238 double x1 = 0.3; |
239 double y1 = 0.2; | 239 double y1 = 0.2; |
240 double x2 = 0.8; | 240 double x2 = 0.8; |
241 double y2 = 0.7; | 241 double y2 = 0.7; |
242 WebKit::WebTransformOperations operations1; | 242 WebKit::WebTransformOperations operations1; |
243 operations1.appendTranslate(0, 0, 0); | 243 operations1.appendTranslate(0, 0, 0); |
244 WebKit::WebTransformOperations operations2; | 244 WebKit::WebTransformOperations operations2; |
245 operations2.appendTranslate(1, 0, 0); | 245 operations2.appendTranslate(1, 0, 0); |
246 curve->add(WebTransformKeyframe(0, operations1), x1, y1, x2, y2); | 246 curve->add(WebTransformKeyframe(0, operations1), x1, y1, x2, y2); |
247 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); | 247 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); |
248 | 248 |
249 scoped_ptr<cc::CCTimingFunction> timingFunction(cc::CCCubicBezierTimingFunct
ion::create(x1, y1, x2, y2)); | 249 scoped_ptr<cc::TimingFunction> timingFunction(cc::CubicBezierTimingFunction:
:create(x1, y1, x2, y2)); |
250 for (int i = 0; i <= 4; ++i) { | 250 for (int i = 0; i <= 4; ++i) { |
251 const double time = i * 0.25; | 251 const double time = i * 0.25; |
252 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); | 252 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); |
253 } | 253 } |
254 } | 254 } |
255 | 255 |
256 // Tests that the default timing function is indeed ease. | 256 // Tests that the default timing function is indeed ease. |
257 TEST(WebTransformAnimationCurveTest, DefaultTimingFunction) | 257 TEST(WebTransformAnimationCurveTest, DefaultTimingFunction) |
258 { | 258 { |
259 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); | 259 scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveI
mpl); |
260 WebKit::WebTransformOperations operations1; | 260 WebKit::WebTransformOperations operations1; |
261 operations1.appendTranslate(0, 0, 0); | 261 operations1.appendTranslate(0, 0, 0); |
262 WebKit::WebTransformOperations operations2; | 262 WebKit::WebTransformOperations operations2; |
263 operations2.appendTranslate(1, 0, 0); | 263 operations2.appendTranslate(1, 0, 0); |
264 curve->add(WebTransformKeyframe(0, operations1)); | 264 curve->add(WebTransformKeyframe(0, operations1)); |
265 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); | 265 curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFu
nctionTypeLinear); |
266 | 266 |
267 scoped_ptr<cc::CCTimingFunction> timingFunction(cc::CCEaseTimingFunction::cr
eate()); | 267 scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseTimingFunction::create
()); |
268 for (int i = 0; i <= 4; ++i) { | 268 for (int i = 0; i <= 4; ++i) { |
269 const double time = i * 0.25; | 269 const double time = i * 0.25; |
270 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); | 270 EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve->getValue(time).m4
1()); |
271 } | 271 } |
272 } | 272 } |
273 | 273 |
274 } // namespace | 274 } // namespace |
OLD | NEW |