| Index: Source/core/platform/animation/TimingFunctionTest.cpp
|
| diff --git a/Source/core/platform/animation/TimingFunctionTest.cpp b/Source/core/platform/animation/TimingFunctionTest.cpp
|
| index 2cd17c3751c4ad81293f291d30b02de45d341385..5e0e21cf1151c1dea236524d7c637289dbd1053c 100644
|
| --- a/Source/core/platform/animation/TimingFunctionTest.cpp
|
| +++ b/Source/core/platform/animation/TimingFunctionTest.cpp
|
| @@ -64,7 +64,6 @@
|
| } \
|
| }
|
|
|
| -
|
| using namespace WebCore;
|
|
|
| namespace {
|
| @@ -260,4 +259,59 @@ TEST_F(TimingFunctionTest, ChainedEq)
|
| EXPECT_REFV_NE(chainedMixed1, chainedMixed4);
|
| }
|
|
|
| +TEST_F(TimingFunctionTest, LinearReverse)
|
| +{
|
| + RefPtr<TimingFunction> linearTiming = LinearTimingFunction::create();
|
| + EXPECT_REFV_EQ(linearTiming, linearTiming->reverse());
|
| +}
|
| +
|
| +TEST_F(TimingFunctionTest, CubicReverse)
|
| +{
|
| + RefPtr<TimingFunction> cubicEaseInTiming = CubicBezierTimingFunction::preset(CubicBezierTimingFunction::EaseIn);
|
| + RefPtr<TimingFunction> cubicEaseOutTiming = CubicBezierTimingFunction::preset(CubicBezierTimingFunction::EaseOut);
|
| + RefPtr<TimingFunction> cubicEaseInOutTiming = CubicBezierTimingFunction::preset(CubicBezierTimingFunction::EaseInOut);
|
| +
|
| + EXPECT_REFV_EQ(cubicEaseOutTiming, cubicEaseInTiming->reverse());
|
| + EXPECT_REFV_EQ(cubicEaseInTiming, cubicEaseOutTiming->reverse());
|
| + EXPECT_REFV_EQ(cubicEaseInOutTiming, cubicEaseInOutTiming->reverse());
|
| +
|
| + RefPtr<TimingFunction> cubicCustomTiming = CubicBezierTimingFunction::create(0.17, 0.67, 1, -1.73);
|
| + RefPtr<TimingFunction> cubicCustomTimingReversed = CubicBezierTimingFunction::create(0.17, 0.67, 1, -1.73);
|
| + EXPECT_REFV_EQ(cubicCustomTimingReversed, cubicCustomTiming->reverse());
|
| +}
|
| +
|
| +TEST_F(TimingFunctionTest, StepReverse)
|
| +{
|
| + RefPtr<TimingFunction> stepTimingStart = StepsTimingFunction::preset(StepsTimingFunction::Start);
|
| + RefPtr<TimingFunction> stepTimingEnd = StepsTimingFunction::preset(StepsTimingFunction::End);
|
| +
|
| + EXPECT_REFV_EQ(stepTimingEnd, stepTimingStart->reverse());
|
| + EXPECT_REFV_EQ(stepTimingStart, stepTimingEnd->reverse());
|
| +
|
| + RefPtr<TimingFunction> stepTimingCustom = StepsTimingFunction::create(5, false);
|
| + RefPtr<TimingFunction> stepTimingCustomReversed = StepsTimingFunction::create(5, true);
|
| + EXPECT_REFV_EQ(stepTimingCustomReversed, stepTimingCustom);
|
| +}
|
| +
|
| +TEST_F(TimingFunctionTest, ChainedReverse)
|
| +{
|
| + RefPtr<TimingFunction> linearTiming = LinearTimingFunction::create();
|
| + RefPtr<ChainedTimingFunction> chainedLinearSingle = ChainedTimingFunction::create();
|
| + chainedLinearSingle->appendSegment(1.0, linearTiming.get());
|
| + EXPECT_REFV_EQ(chainedLinearSingle, chainedLinearSingle->reverse());
|
| +
|
| + RefPtr<TimingFunction> cubicEaseInTiming = CubicBezierTimingFunction::preset(CubicBezierTimingFunction::EaseIn);
|
| + RefPtr<TimingFunction> cubicEaseOutTiming = CubicBezierTimingFunction::preset(CubicBezierTimingFunction::EaseOut);
|
| +
|
| + RefPtr<ChainedTimingFunction> chainedMixed = ChainedTimingFunction::create();
|
| + chainedMixed->appendSegment(0.75, chainedLinearSingle.get());
|
| + chainedMixed->appendSegment(1.0, cubicEaseInTiming.get());
|
| +
|
| + RefPtr<ChainedTimingFunction> chainedMixedReversed = ChainedTimingFunction::create();
|
| + chainedMixed->appendSegment(0.25, cubicEaseOutTiming.get());
|
| + chainedMixed->appendSegment(1.0, chainedLinearSingle.get());
|
| +
|
| + EXPECT_REFV_EQ(chainedMixed, chainedMixedReversed);
|
| +}
|
| +
|
| } // namespace
|
|
|