TEST(AnimationAnimationInputHelpersTest, ParseAnimationTimingFunction) { EXPECT_EQ(nullptr, AnimationInputHelpers::parseTimingFunction("initial")); EXPECT_EQ(nullptr, AnimationInputHelpers::parseTimingFunction("inherit")); EXPECT_EQ(nullptr, AnimationInputHelpers::parseTimingFunction("unset")); EXPECT_TRUE(timingFunctionRoundTrips("ease")); EXPECT_TRUE(timingFunctionRoundTrips("linear")); EXPECT_TRUE(timingFunctionRoundTrips("ease-in")); EXPECT_TRUE(timingFunctionRoundTrips("ease-out")); EXPECT_TRUE(timingFunctionRoundTrips("ease-in-out")); EXPECT_TRUE(timingFunctionRoundTrips("step-start")); EXPECT_TRUE(timingFunctionRoundTrips("step-middle")); EXPECT_TRUE(timingFunctionRoundTrips("step-end")); EXPECT_TRUE(timingFunctionRoundTrips("steps(3, start)")); EXPECT_TRUE(timingFunctionRoundTrips("steps(3, middle)")); EXPECT_TRUE(timingFunctionRoundTrips("steps(3, end)")); EXPECT_TRUE(timingFunctionRoundTrips("cubic-bezier(0.1, 5, 0.23, 0)")); EXPECT_EQ("steps(3, end)", AnimationInputHelpers::parseTimingFunction("steps(3)")->toString()); EXPECT_EQ(nullptr, AnimationInputHelpers::parseTimingFunction("steps(3, nowhere)")); EXPECT_EQ(nullptr, AnimationInputHelpers::parseTimingFunction("steps(-3, end)")); EXPECT_EQ(nullptr, AnimationInputHelpers::parseTimingFunction("cubic-bezier(0.1, 0, 4, 0.4)")); }
TEST_F(AnimationAnimationInputHelpersTest, ParseAnimationTimingFunction) { timingFunctionThrows("", exceptionState); timingFunctionThrows("initial", exceptionState); timingFunctionThrows("inherit", exceptionState); timingFunctionThrows("unset", exceptionState); timingFunctionRoundTrips("ease", exceptionState); timingFunctionRoundTrips("linear", exceptionState); timingFunctionRoundTrips("ease-in", exceptionState); timingFunctionRoundTrips("ease-out", exceptionState); timingFunctionRoundTrips("ease-in-out", exceptionState); timingFunctionRoundTrips("step-start", exceptionState); timingFunctionRoundTrips("step-middle", exceptionState); timingFunctionRoundTrips("step-end", exceptionState); timingFunctionRoundTrips("steps(3, start)", exceptionState); timingFunctionRoundTrips("steps(3, middle)", exceptionState); timingFunctionRoundTrips("steps(3, end)", exceptionState); timingFunctionRoundTrips("cubic-bezier(0.1, 5, 0.23, 0)", exceptionState); EXPECT_EQ("steps(3, end)", parseTimingFunction("steps(3)", exceptionState)->toString()); timingFunctionThrows("steps(3, nowhere)", exceptionState); timingFunctionThrows("steps(-3, end)", exceptionState); timingFunctionThrows("cubic-bezier(0.1, 0, 4, 0.4)", exceptionState); }