Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Unified Diff: ui/gfx/geometry/cubic_bezier_unittest.cc

Issue 833093002: CC: Allow cubic-bezier timing inputs outside the range [0, 1] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@0
Patch Set: Trigger CQ build Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/geometry/cubic_bezier.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/geometry/cubic_bezier_unittest.cc
diff --git a/ui/gfx/geometry/cubic_bezier_unittest.cc b/ui/gfx/geometry/cubic_bezier_unittest.cc
index 168817c6449ec9caf4f02705092b9080e3904fbe..9ade0daf42fca709bf8acaeb99e1f658ebbfb83c 100644
--- a/ui/gfx/geometry/cubic_bezier_unittest.cc
+++ b/ui/gfx/geometry/cubic_bezier_unittest.cc
@@ -164,5 +164,32 @@ TEST(CubicBezierTest, Slope) {
EXPECT_NEAR(function.Slope(1), 0, epsilon);
}
+TEST(CubicBezierTest, InputOutOfRange) {
+ CubicBezier simple(0.5, 1.0, 0.5, 1.0);
+ EXPECT_EQ(-2.0, simple.Solve(-1.0));
+ EXPECT_EQ(1.0, simple.Solve(2.0));
+
+ CubicBezier coincidentEndpoints(0.0, 0.0, 1.0, 1.0);
+ EXPECT_EQ(-1.0, coincidentEndpoints.Solve(-1.0));
+ EXPECT_EQ(2.0, coincidentEndpoints.Solve(2.0));
+
+ CubicBezier verticalGradient(0.0, 1.0, 1.0, 0.0);
+ EXPECT_EQ(0.0, verticalGradient.Solve(-1.0));
+ EXPECT_EQ(1.0, verticalGradient.Solve(2.0));
+
+ CubicBezier distinctEndpoints(0.1, 0.2, 0.8, 0.8);
+ EXPECT_EQ(-2.0, distinctEndpoints.Solve(-1.0));
+ EXPECT_EQ(2.0, distinctEndpoints.Solve(2.0));
+
+ CubicBezier coincidentEndpoint(0.0, 0.0, 0.8, 0.8);
+ EXPECT_EQ(-1.0, coincidentEndpoint.Solve(-1.0));
+ EXPECT_EQ(2.0, coincidentEndpoint.Solve(2.0));
+
+ CubicBezier threeCoincidentPoints(0.0, 0.0, 0.0, 0.0);
+ EXPECT_EQ(0, threeCoincidentPoints.Solve(-1.0));
+ EXPECT_EQ(2.0, threeCoincidentPoints.Solve(2.0));
+
+}
+
} // namespace
} // namespace gfx
« no previous file with comments | « ui/gfx/geometry/cubic_bezier.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698