| Index: ui/gfx/geometry/rect_unittest.cc
|
| diff --git a/ui/gfx/geometry/rect_unittest.cc b/ui/gfx/geometry/rect_unittest.cc
|
| index be4b462073671ccef217627f2c6977be5299ff08..78c3ead33f19f589bdadb17b7fd89dcc4f2e55d6 100644
|
| --- a/ui/gfx/geometry/rect_unittest.cc
|
| +++ b/ui/gfx/geometry/rect_unittest.cc
|
| @@ -915,4 +915,26 @@ TEST(RectTest, ManhattanInternalDistance) {
|
| f.ManhattanInternalDistance(gfx::RectF(-1.5f, 0.0f, 1.5f, 1.0f)));
|
| }
|
|
|
| +TEST(RectTest, MaxDistanceToCorners) {
|
| + const float kAbsError = 0.01f;
|
| + // Rect with the following corners in clockwise order starting at the origin:
|
| + // (10, 30), (60, 30), (10, 100), (60, 100)
|
| + const Rect rect(10, 30, 50, 70);
|
| +
|
| + // Interior points
|
| + EXPECT_NEAR(78.10f, rect.MaxDistanceToCorners(gfx::Point(10, 40)), kAbsError);
|
| + EXPECT_NEAR(71.06f, rect.MaxDistanceToCorners(gfx::Point(55, 45)), kAbsError);
|
| + EXPECT_NEAR(64.03f, rect.MaxDistanceToCorners(gfx::Point(50, 80)), kAbsError);
|
| + EXPECT_NEAR(68.01f, rect.MaxDistanceToCorners(gfx::Point(20, 85)), kAbsError);
|
| +
|
| + // Exterior points
|
| + EXPECT_NEAR(110.79f, rect.MaxDistanceToCorners(gfx::Point(3, 5)), kAbsError);
|
| + EXPECT_NEAR(108.17f, rect.MaxDistanceToCorners(gfx::Point(70, 10)),
|
| + kAbsError);
|
| + EXPECT_NEAR(103.08f, rect.MaxDistanceToCorners(gfx::Point(75, 110)),
|
| + kAbsError);
|
| + EXPECT_NEAR(101.24f, rect.MaxDistanceToCorners(gfx::Point(5, 115)),
|
| + kAbsError);
|
| +}
|
| +
|
| } // namespace gfx
|
|
|