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 |