| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 | 108 |
| 109 RefPtr<TimingFunction> stepTimingCustomMiddle = | 109 RefPtr<TimingFunction> stepTimingCustomMiddle = |
| 110 StepsTimingFunction::create(4, StepsTimingFunction::StepPosition::MIDDLE); | 110 StepsTimingFunction::create(4, StepsTimingFunction::StepPosition::MIDDLE); |
| 111 EXPECT_EQ("steps(4, middle)", stepTimingCustomMiddle->toString()); | 111 EXPECT_EQ("steps(4, middle)", stepTimingCustomMiddle->toString()); |
| 112 | 112 |
| 113 RefPtr<TimingFunction> stepTimingCustomEnd = | 113 RefPtr<TimingFunction> stepTimingCustomEnd = |
| 114 StepsTimingFunction::create(5, StepsTimingFunction::StepPosition::END); | 114 StepsTimingFunction::create(5, StepsTimingFunction::StepPosition::END); |
| 115 EXPECT_EQ("steps(5)", stepTimingCustomEnd->toString()); | 115 EXPECT_EQ("steps(5)", stepTimingCustomEnd->toString()); |
| 116 } | 116 } |
| 117 | 117 |
| 118 TEST_F(TimingFunctionTest, FrameToString) { |
| 119 RefPtr<TimingFunction> frameTiming = FramesTimingFunction::create(3); |
| 120 EXPECT_EQ("frames(3)", frameTiming->toString()); |
| 121 } |
| 122 |
| 118 TEST_F(TimingFunctionTest, BaseOperatorEq) { | 123 TEST_F(TimingFunctionTest, BaseOperatorEq) { |
| 119 RefPtr<TimingFunction> linearTiming = LinearTimingFunction::shared(); | 124 RefPtr<TimingFunction> linearTiming = LinearTimingFunction::shared(); |
| 120 RefPtr<TimingFunction> cubicTiming1 = CubicBezierTimingFunction::preset( | 125 RefPtr<TimingFunction> cubicTiming1 = CubicBezierTimingFunction::preset( |
| 121 CubicBezierTimingFunction::EaseType::EASE_IN); | 126 CubicBezierTimingFunction::EaseType::EASE_IN); |
| 122 RefPtr<TimingFunction> cubicTiming2 = | 127 RefPtr<TimingFunction> cubicTiming2 = |
| 123 CubicBezierTimingFunction::create(0.17, 0.67, 1, -1.73); | 128 CubicBezierTimingFunction::create(0.17, 0.67, 1, -1.73); |
| 124 RefPtr<TimingFunction> stepsTiming1 = | 129 RefPtr<TimingFunction> stepsTiming1 = |
| 125 StepsTimingFunction::preset(StepsTimingFunction::StepPosition::END); | 130 StepsTimingFunction::preset(StepsTimingFunction::StepPosition::END); |
| 126 RefPtr<TimingFunction> stepsTiming2 = | 131 RefPtr<TimingFunction> stepsTiming2 = |
| 127 StepsTimingFunction::create(5, StepsTimingFunction::StepPosition::START); | 132 StepsTimingFunction::create(5, StepsTimingFunction::StepPosition::START); |
| 133 RefPtr<TimingFunction> framesTiming = FramesTimingFunction::create(5); |
| 128 | 134 |
| 129 Vector<std::pair<std::string, RefPtr<TimingFunction>>> v; | 135 Vector<std::pair<std::string, RefPtr<TimingFunction>>> v; |
| 130 v.push_back(std::make_pair("linearTiming", linearTiming)); | 136 v.push_back(std::make_pair("linearTiming", linearTiming)); |
| 131 v.push_back(std::make_pair("cubicTiming1", cubicTiming1)); | 137 v.push_back(std::make_pair("cubicTiming1", cubicTiming1)); |
| 132 v.push_back(std::make_pair("cubicTiming2", cubicTiming2)); | 138 v.push_back(std::make_pair("cubicTiming2", cubicTiming2)); |
| 133 v.push_back(std::make_pair("stepsTiming1", stepsTiming1)); | 139 v.push_back(std::make_pair("stepsTiming1", stepsTiming1)); |
| 134 v.push_back(std::make_pair("stepsTiming2", stepsTiming2)); | 140 v.push_back(std::make_pair("stepsTiming2", stepsTiming2)); |
| 141 v.push_back(std::make_pair("framesTiming", framesTiming)); |
| 135 notEqualHelperLoop(v); | 142 notEqualHelperLoop(v); |
| 136 } | 143 } |
| 137 | 144 |
| 138 TEST_F(TimingFunctionTest, LinearOperatorEq) { | 145 TEST_F(TimingFunctionTest, LinearOperatorEq) { |
| 139 RefPtr<TimingFunction> linearTiming1 = LinearTimingFunction::shared(); | 146 RefPtr<TimingFunction> linearTiming1 = LinearTimingFunction::shared(); |
| 140 RefPtr<TimingFunction> linearTiming2 = LinearTimingFunction::shared(); | 147 RefPtr<TimingFunction> linearTiming2 = LinearTimingFunction::shared(); |
| 141 EXPECT_EQ(*linearTiming1, *linearTiming1); | 148 EXPECT_EQ(*linearTiming1, *linearTiming1); |
| 142 EXPECT_EQ(*linearTiming1, *linearTiming2); | 149 EXPECT_EQ(*linearTiming1, *linearTiming2); |
| 143 } | 150 } |
| 144 | 151 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 | 248 |
| 242 TEST_F(TimingFunctionTest, StepsOperatorEqPreset) { | 249 TEST_F(TimingFunctionTest, StepsOperatorEqPreset) { |
| 243 RefPtr<TimingFunction> stepsA = | 250 RefPtr<TimingFunction> stepsA = |
| 244 StepsTimingFunction::preset(StepsTimingFunction::StepPosition::START); | 251 StepsTimingFunction::preset(StepsTimingFunction::StepPosition::START); |
| 245 RefPtr<TimingFunction> stepsB = | 252 RefPtr<TimingFunction> stepsB = |
| 246 StepsTimingFunction::create(1, StepsTimingFunction::StepPosition::START); | 253 StepsTimingFunction::create(1, StepsTimingFunction::StepPosition::START); |
| 247 EXPECT_EQ(*stepsA, *stepsB); | 254 EXPECT_EQ(*stepsA, *stepsB); |
| 248 EXPECT_EQ(*stepsB, *stepsA); | 255 EXPECT_EQ(*stepsB, *stepsA); |
| 249 } | 256 } |
| 250 | 257 |
| 258 TEST_F(TimingFunctionTest, FramesOperatorEq) { |
| 259 RefPtr<TimingFunction> framesTiming1 = FramesTimingFunction::create(5); |
| 260 RefPtr<TimingFunction> framesTiming2 = FramesTimingFunction::create(7); |
| 261 |
| 262 EXPECT_EQ(*FramesTimingFunction::create(5), *framesTiming1); |
| 263 EXPECT_EQ(*FramesTimingFunction::create(7), *framesTiming2); |
| 264 |
| 265 Vector<std::pair<std::string, RefPtr<TimingFunction>>> v; |
| 266 v.push_back(std::make_pair("framesTiming1", framesTiming1)); |
| 267 v.push_back(std::make_pair("framesTiming2", framesTiming2)); |
| 268 notEqualHelperLoop(v); |
| 269 } |
| 270 |
| 251 TEST_F(TimingFunctionTest, LinearEvaluate) { | 271 TEST_F(TimingFunctionTest, LinearEvaluate) { |
| 252 RefPtr<TimingFunction> linearTiming = LinearTimingFunction::shared(); | 272 RefPtr<TimingFunction> linearTiming = LinearTimingFunction::shared(); |
| 253 EXPECT_EQ(0.2, linearTiming->evaluate(0.2, 0)); | 273 EXPECT_EQ(0.2, linearTiming->evaluate(0.2, 0)); |
| 254 EXPECT_EQ(0.6, linearTiming->evaluate(0.6, 0)); | 274 EXPECT_EQ(0.6, linearTiming->evaluate(0.6, 0)); |
| 255 EXPECT_EQ(-0.2, linearTiming->evaluate(-0.2, 0)); | 275 EXPECT_EQ(-0.2, linearTiming->evaluate(-0.2, 0)); |
| 256 EXPECT_EQ(1.6, linearTiming->evaluate(1.6, 0)); | 276 EXPECT_EQ(1.6, linearTiming->evaluate(1.6, 0)); |
| 257 } | 277 } |
| 258 | 278 |
| 259 TEST_F(TimingFunctionTest, LinearRange) { | 279 TEST_F(TimingFunctionTest, LinearRange) { |
| 260 double start = 0; | 280 double start = 0; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 279 EXPECT_NEAR(0, start, 0.01); | 299 EXPECT_NEAR(0, start, 0.01); |
| 280 EXPECT_NEAR(1, end, 0.01); | 300 EXPECT_NEAR(1, end, 0.01); |
| 281 | 301 |
| 282 start = -1; | 302 start = -1; |
| 283 end = 10; | 303 end = 10; |
| 284 steps->range(&start, &end); | 304 steps->range(&start, &end); |
| 285 EXPECT_NEAR(0, start, 0.01); | 305 EXPECT_NEAR(0, start, 0.01); |
| 286 EXPECT_NEAR(1, end, 0.01); | 306 EXPECT_NEAR(1, end, 0.01); |
| 287 } | 307 } |
| 288 | 308 |
| 309 TEST_F(TimingFunctionTest, FrameRange) { |
| 310 double start = 0; |
| 311 double end = 1; |
| 312 RefPtr<TimingFunction> frames = FramesTimingFunction::create(4); |
| 313 frames->range(&start, &end); |
| 314 EXPECT_NEAR(0, start, 0.01); |
| 315 EXPECT_NEAR(1, end, 0.01); |
| 316 |
| 317 start = -1; |
| 318 end = 10; |
| 319 frames->range(&start, &end); |
| 320 EXPECT_NEAR(0, start, 0.01); |
| 321 EXPECT_NEAR(1, end, 0.01); |
| 322 } |
| 323 |
| 289 TEST_F(TimingFunctionTest, CubicRange) { | 324 TEST_F(TimingFunctionTest, CubicRange) { |
| 290 double start = 0; | 325 double start = 0; |
| 291 double end = 1; | 326 double end = 1; |
| 292 | 327 |
| 293 RefPtr<TimingFunction> cubicEaseTiming = CubicBezierTimingFunction::preset( | 328 RefPtr<TimingFunction> cubicEaseTiming = CubicBezierTimingFunction::preset( |
| 294 CubicBezierTimingFunction::EaseType::EASE); | 329 CubicBezierTimingFunction::EaseType::EASE); |
| 295 start = 0; | 330 start = 0; |
| 296 end = 1; | 331 end = 1; |
| 297 cubicEaseTiming->range(&start, &end); | 332 cubicEaseTiming->range(&start, &end); |
| 298 EXPECT_NEAR(0, start, 0.01); | 333 EXPECT_NEAR(0, start, 0.01); |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 EXPECT_EQ(0.25, stepsTimingCustomEnd->evaluate(0.25, 0)); | 495 EXPECT_EQ(0.25, stepsTimingCustomEnd->evaluate(0.25, 0)); |
| 461 EXPECT_EQ(0.25, stepsTimingCustomEnd->evaluate(0.49, 0)); | 496 EXPECT_EQ(0.25, stepsTimingCustomEnd->evaluate(0.49, 0)); |
| 462 EXPECT_EQ(0.50, stepsTimingCustomEnd->evaluate(0.50, 0)); | 497 EXPECT_EQ(0.50, stepsTimingCustomEnd->evaluate(0.50, 0)); |
| 463 EXPECT_EQ(0.50, stepsTimingCustomEnd->evaluate(0.74, 0)); | 498 EXPECT_EQ(0.50, stepsTimingCustomEnd->evaluate(0.74, 0)); |
| 464 EXPECT_EQ(0.75, stepsTimingCustomEnd->evaluate(0.75, 0)); | 499 EXPECT_EQ(0.75, stepsTimingCustomEnd->evaluate(0.75, 0)); |
| 465 EXPECT_EQ(0.75, stepsTimingCustomEnd->evaluate(0.99, 0)); | 500 EXPECT_EQ(0.75, stepsTimingCustomEnd->evaluate(0.99, 0)); |
| 466 EXPECT_EQ(1.00, stepsTimingCustomEnd->evaluate(1.00, 0)); | 501 EXPECT_EQ(1.00, stepsTimingCustomEnd->evaluate(1.00, 0)); |
| 467 EXPECT_EQ(1.00, stepsTimingCustomEnd->evaluate(2.00, 0)); | 502 EXPECT_EQ(1.00, stepsTimingCustomEnd->evaluate(2.00, 0)); |
| 468 } | 503 } |
| 469 | 504 |
| 505 TEST_F(TimingFunctionTest, FramesEvaluate) { |
| 506 RefPtr<TimingFunction> framesTiming = FramesTimingFunction::create(5); |
| 507 EXPECT_EQ(0.00, framesTiming->evaluate(-2.00, 0)); |
| 508 EXPECT_EQ(0.00, framesTiming->evaluate(0.00, 0)); |
| 509 EXPECT_EQ(0.00, framesTiming->evaluate(0.19, 0)); |
| 510 EXPECT_EQ(0.25, framesTiming->evaluate(0.20, 0)); |
| 511 EXPECT_EQ(0.25, framesTiming->evaluate(0.39, 0)); |
| 512 EXPECT_EQ(0.50, framesTiming->evaluate(0.40, 0)); |
| 513 EXPECT_EQ(0.50, framesTiming->evaluate(0.59, 0)); |
| 514 EXPECT_EQ(0.75, framesTiming->evaluate(0.60, 0)); |
| 515 EXPECT_EQ(0.75, framesTiming->evaluate(0.79, 0)); |
| 516 EXPECT_EQ(1.00, framesTiming->evaluate(0.80, 0)); |
| 517 EXPECT_EQ(1.00, framesTiming->evaluate(1.00, 0)); |
| 518 EXPECT_EQ(1.00, framesTiming->evaluate(3.00, 0)); |
| 519 } |
| 520 |
| 470 } // namespace | 521 } // namespace |
| 471 | 522 |
| 472 } // namespace blink | 523 } // namespace blink |
| OLD | NEW |