| 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 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 EXPECT_NEAR(0.034, cubic_custom_timing->Evaluate(0.25, tolerance), tolerance); | 408 EXPECT_NEAR(0.034, cubic_custom_timing->Evaluate(0.25, tolerance), tolerance); |
| 409 EXPECT_NEAR(-0.217, cubic_custom_timing->Evaluate(0.50, tolerance), | 409 EXPECT_NEAR(-0.217, cubic_custom_timing->Evaluate(0.50, tolerance), |
| 410 tolerance); | 410 tolerance); |
| 411 EXPECT_NEAR(-0.335, cubic_custom_timing->Evaluate(0.75, tolerance), | 411 EXPECT_NEAR(-0.335, cubic_custom_timing->Evaluate(0.75, tolerance), |
| 412 tolerance); | 412 tolerance); |
| 413 } | 413 } |
| 414 | 414 |
| 415 TEST_F(TimingFunctionTest, StepsEvaluate) { | 415 TEST_F(TimingFunctionTest, StepsEvaluate) { |
| 416 RefPtr<TimingFunction> steps_timing_start = | 416 RefPtr<TimingFunction> steps_timing_start = |
| 417 StepsTimingFunction::Preset(StepsTimingFunction::StepPosition::START); | 417 StepsTimingFunction::Preset(StepsTimingFunction::StepPosition::START); |
| 418 EXPECT_EQ(0.00, steps_timing_start->Evaluate(-1.10, 0)); | 418 EXPECT_EQ(-1.00, steps_timing_start->Evaluate(-1.10, 0)); |
| 419 EXPECT_EQ(0.00, steps_timing_start->Evaluate(-0.10, 0)); | 419 EXPECT_EQ(0.00, steps_timing_start->Evaluate(-0.10, 0)); |
| 420 EXPECT_EQ(1.00, steps_timing_start->Evaluate(0.00, 0)); | 420 EXPECT_EQ(1.00, steps_timing_start->Evaluate(0.00, 0)); |
| 421 EXPECT_EQ(1.00, steps_timing_start->Evaluate(0.20, 0)); | 421 EXPECT_EQ(1.00, steps_timing_start->Evaluate(0.20, 0)); |
| 422 EXPECT_EQ(1.00, steps_timing_start->Evaluate(0.60, 0)); | 422 EXPECT_EQ(1.00, steps_timing_start->Evaluate(0.60, 0)); |
| 423 EXPECT_EQ(1.00, steps_timing_start->Evaluate(1.00, 0)); | 423 EXPECT_EQ(1.00, steps_timing_start->Evaluate(1.00, 0)); |
| 424 EXPECT_EQ(1.00, steps_timing_start->Evaluate(2.00, 0)); | 424 EXPECT_EQ(3.00, steps_timing_start->Evaluate(2.00, 0)); |
| 425 | 425 |
| 426 RefPtr<TimingFunction> steps_timing_middle = | 426 RefPtr<TimingFunction> steps_timing_middle = |
| 427 StepsTimingFunction::Preset(StepsTimingFunction::StepPosition::MIDDLE); | 427 StepsTimingFunction::Preset(StepsTimingFunction::StepPosition::MIDDLE); |
| 428 EXPECT_EQ(0.00, steps_timing_middle->Evaluate(-2.50, 0)); | 428 EXPECT_EQ(-2.00, steps_timing_middle->Evaluate(-2.50, 0)); |
| 429 EXPECT_EQ(0.00, steps_timing_middle->Evaluate(0.00, 0)); | 429 EXPECT_EQ(0.00, steps_timing_middle->Evaluate(0.00, 0)); |
| 430 EXPECT_EQ(0.00, steps_timing_middle->Evaluate(0.49, 0)); | 430 EXPECT_EQ(0.00, steps_timing_middle->Evaluate(0.49, 0)); |
| 431 EXPECT_EQ(1.00, steps_timing_middle->Evaluate(0.50, 0)); | 431 EXPECT_EQ(1.00, steps_timing_middle->Evaluate(0.50, 0)); |
| 432 EXPECT_EQ(1.00, steps_timing_middle->Evaluate(1.00, 0)); | 432 EXPECT_EQ(1.00, steps_timing_middle->Evaluate(1.00, 0)); |
| 433 EXPECT_EQ(1.00, steps_timing_middle->Evaluate(2.50, 0)); | 433 EXPECT_EQ(3.00, steps_timing_middle->Evaluate(2.50, 0)); |
| 434 | 434 |
| 435 RefPtr<TimingFunction> steps_timing_end = | 435 RefPtr<TimingFunction> steps_timing_end = |
| 436 StepsTimingFunction::Preset(StepsTimingFunction::StepPosition::END); | 436 StepsTimingFunction::Preset(StepsTimingFunction::StepPosition::END); |
| 437 EXPECT_EQ(0.00, steps_timing_end->Evaluate(-2.00, 0)); | 437 EXPECT_EQ(-2.00, steps_timing_end->Evaluate(-2.00, 0)); |
| 438 EXPECT_EQ(0.00, steps_timing_end->Evaluate(0.00, 0)); | 438 EXPECT_EQ(0.00, steps_timing_end->Evaluate(0.00, 0)); |
| 439 EXPECT_EQ(0.00, steps_timing_end->Evaluate(0.20, 0)); | 439 EXPECT_EQ(0.00, steps_timing_end->Evaluate(0.20, 0)); |
| 440 EXPECT_EQ(0.00, steps_timing_end->Evaluate(0.60, 0)); | 440 EXPECT_EQ(0.00, steps_timing_end->Evaluate(0.60, 0)); |
| 441 EXPECT_EQ(1.00, steps_timing_end->Evaluate(1.00, 0)); | 441 EXPECT_EQ(1.00, steps_timing_end->Evaluate(1.00, 0)); |
| 442 EXPECT_EQ(1.00, steps_timing_end->Evaluate(2.00, 0)); | 442 EXPECT_EQ(2.00, steps_timing_end->Evaluate(2.00, 0)); |
| 443 | 443 |
| 444 RefPtr<TimingFunction> steps_timing_custom_start = | 444 RefPtr<TimingFunction> steps_timing_custom_start = |
| 445 StepsTimingFunction::Create(4, StepsTimingFunction::StepPosition::START); | 445 StepsTimingFunction::Create(4, StepsTimingFunction::StepPosition::START); |
| 446 EXPECT_EQ(0.00, steps_timing_custom_start->Evaluate(-0.50, 0)); | 446 EXPECT_EQ(-0.25, steps_timing_custom_start->Evaluate(-0.50, 0)); |
| 447 EXPECT_EQ(0.25, steps_timing_custom_start->Evaluate(0.00, 0)); | 447 EXPECT_EQ(0.25, steps_timing_custom_start->Evaluate(0.00, 0)); |
| 448 EXPECT_EQ(0.25, steps_timing_custom_start->Evaluate(0.24, 0)); | 448 EXPECT_EQ(0.25, steps_timing_custom_start->Evaluate(0.24, 0)); |
| 449 EXPECT_EQ(0.50, steps_timing_custom_start->Evaluate(0.25, 0)); | 449 EXPECT_EQ(0.50, steps_timing_custom_start->Evaluate(0.25, 0)); |
| 450 EXPECT_EQ(0.50, steps_timing_custom_start->Evaluate(0.49, 0)); | 450 EXPECT_EQ(0.50, steps_timing_custom_start->Evaluate(0.49, 0)); |
| 451 EXPECT_EQ(0.75, steps_timing_custom_start->Evaluate(0.50, 0)); | 451 EXPECT_EQ(0.75, steps_timing_custom_start->Evaluate(0.50, 0)); |
| 452 EXPECT_EQ(0.75, steps_timing_custom_start->Evaluate(0.74, 0)); | 452 EXPECT_EQ(0.75, steps_timing_custom_start->Evaluate(0.74, 0)); |
| 453 EXPECT_EQ(1.00, steps_timing_custom_start->Evaluate(0.75, 0)); | 453 EXPECT_EQ(1.00, steps_timing_custom_start->Evaluate(0.75, 0)); |
| 454 EXPECT_EQ(1.00, steps_timing_custom_start->Evaluate(1.00, 0)); | 454 EXPECT_EQ(1.00, steps_timing_custom_start->Evaluate(1.00, 0)); |
| 455 EXPECT_EQ(1.00, steps_timing_custom_start->Evaluate(1.50, 0)); | 455 EXPECT_EQ(1.75, steps_timing_custom_start->Evaluate(1.50, 0)); |
| 456 | 456 |
| 457 RefPtr<TimingFunction> steps_timing_custom_middle = | 457 RefPtr<TimingFunction> steps_timing_custom_middle = |
| 458 StepsTimingFunction::Create(4, StepsTimingFunction::StepPosition::MIDDLE); | 458 StepsTimingFunction::Create(4, StepsTimingFunction::StepPosition::MIDDLE); |
| 459 EXPECT_EQ(0.00, steps_timing_custom_middle->Evaluate(-2.00, 0)); | 459 EXPECT_EQ(-2.00, steps_timing_custom_middle->Evaluate(-2.00, 0)); |
| 460 EXPECT_EQ(0.00, steps_timing_custom_middle->Evaluate(0.00, 0)); | 460 EXPECT_EQ(0.00, steps_timing_custom_middle->Evaluate(0.00, 0)); |
| 461 EXPECT_EQ(0.00, steps_timing_custom_middle->Evaluate(0.12, 0)); | 461 EXPECT_EQ(0.00, steps_timing_custom_middle->Evaluate(0.12, 0)); |
| 462 EXPECT_EQ(0.25, steps_timing_custom_middle->Evaluate(0.13, 0)); | 462 EXPECT_EQ(0.25, steps_timing_custom_middle->Evaluate(0.13, 0)); |
| 463 EXPECT_EQ(0.25, steps_timing_custom_middle->Evaluate(0.37, 0)); | 463 EXPECT_EQ(0.25, steps_timing_custom_middle->Evaluate(0.37, 0)); |
| 464 EXPECT_EQ(0.50, steps_timing_custom_middle->Evaluate(0.38, 0)); | 464 EXPECT_EQ(0.50, steps_timing_custom_middle->Evaluate(0.38, 0)); |
| 465 EXPECT_EQ(0.50, steps_timing_custom_middle->Evaluate(0.62, 0)); | 465 EXPECT_EQ(0.50, steps_timing_custom_middle->Evaluate(0.62, 0)); |
| 466 EXPECT_EQ(0.75, steps_timing_custom_middle->Evaluate(0.63, 0)); | 466 EXPECT_EQ(0.75, steps_timing_custom_middle->Evaluate(0.63, 0)); |
| 467 EXPECT_EQ(0.75, steps_timing_custom_middle->Evaluate(0.87, 0)); | 467 EXPECT_EQ(0.75, steps_timing_custom_middle->Evaluate(0.87, 0)); |
| 468 EXPECT_EQ(1.00, steps_timing_custom_middle->Evaluate(0.88, 0)); | 468 EXPECT_EQ(1.00, steps_timing_custom_middle->Evaluate(0.88, 0)); |
| 469 EXPECT_EQ(1.00, steps_timing_custom_middle->Evaluate(1.00, 0)); | 469 EXPECT_EQ(1.00, steps_timing_custom_middle->Evaluate(1.00, 0)); |
| 470 EXPECT_EQ(1.00, steps_timing_custom_middle->Evaluate(3.00, 0)); | 470 EXPECT_EQ(3.00, steps_timing_custom_middle->Evaluate(3.00, 0)); |
| 471 | 471 |
| 472 RefPtr<TimingFunction> steps_timing_custom_end = | 472 RefPtr<TimingFunction> steps_timing_custom_end = |
| 473 StepsTimingFunction::Create(4, StepsTimingFunction::StepPosition::END); | 473 StepsTimingFunction::Create(4, StepsTimingFunction::StepPosition::END); |
| 474 EXPECT_EQ(0.00, steps_timing_custom_end->Evaluate(-2.00, 0)); | 474 EXPECT_EQ(-2.00, steps_timing_custom_end->Evaluate(-2.00, 0)); |
| 475 EXPECT_EQ(0.00, steps_timing_custom_end->Evaluate(0.00, 0)); | 475 EXPECT_EQ(0.00, steps_timing_custom_end->Evaluate(0.00, 0)); |
| 476 EXPECT_EQ(0.00, steps_timing_custom_end->Evaluate(0.24, 0)); | 476 EXPECT_EQ(0.00, steps_timing_custom_end->Evaluate(0.24, 0)); |
| 477 EXPECT_EQ(0.25, steps_timing_custom_end->Evaluate(0.25, 0)); | 477 EXPECT_EQ(0.25, steps_timing_custom_end->Evaluate(0.25, 0)); |
| 478 EXPECT_EQ(0.25, steps_timing_custom_end->Evaluate(0.49, 0)); | 478 EXPECT_EQ(0.25, steps_timing_custom_end->Evaluate(0.49, 0)); |
| 479 EXPECT_EQ(0.50, steps_timing_custom_end->Evaluate(0.50, 0)); | 479 EXPECT_EQ(0.50, steps_timing_custom_end->Evaluate(0.50, 0)); |
| 480 EXPECT_EQ(0.50, steps_timing_custom_end->Evaluate(0.74, 0)); | 480 EXPECT_EQ(0.50, steps_timing_custom_end->Evaluate(0.74, 0)); |
| 481 EXPECT_EQ(0.75, steps_timing_custom_end->Evaluate(0.75, 0)); | 481 EXPECT_EQ(0.75, steps_timing_custom_end->Evaluate(0.75, 0)); |
| 482 EXPECT_EQ(0.75, steps_timing_custom_end->Evaluate(0.99, 0)); | 482 EXPECT_EQ(0.75, steps_timing_custom_end->Evaluate(0.99, 0)); |
| 483 EXPECT_EQ(1.00, steps_timing_custom_end->Evaluate(1.00, 0)); | 483 EXPECT_EQ(1.00, steps_timing_custom_end->Evaluate(1.00, 0)); |
| 484 EXPECT_EQ(1.00, steps_timing_custom_end->Evaluate(2.00, 0)); | 484 EXPECT_EQ(2.00, steps_timing_custom_end->Evaluate(2.00, 0)); |
| 485 } | 485 } |
| 486 | 486 |
| 487 } // namespace | 487 } // namespace |
| 488 | 488 |
| 489 } // namespace blink | 489 } // namespace blink |
| OLD | NEW |