Chromium Code Reviews| Index: cc/base/math_util_unittest.cc |
| diff --git a/cc/base/math_util_unittest.cc b/cc/base/math_util_unittest.cc |
| index 446bdf55438abf767ec8a12cc6b11a8e444e8f9a..a4e58b08f13f8a014d492dee72ab923d14625cb6 100644 |
| --- a/cc/base/math_util_unittest.cc |
| +++ b/cc/base/math_util_unittest.cc |
| @@ -11,6 +11,7 @@ |
| #include "cc/test/geometry_test_utils.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "ui/gfx/geometry/quad_f.h" |
| #include "ui/gfx/geometry/rect.h" |
| #include "ui/gfx/geometry/rect_f.h" |
| #include "ui/gfx/transform.h" |
| @@ -455,5 +456,32 @@ TEST(MathUtilTest, RoundDownUnderflow) { |
| EXPECT_TRUE(MathUtil::VerifyRoundDown<int16_t>(-123, 50)); |
| } |
| +TEST(MathUtilTest, MapClippedQuadDuplicate) { |
| + gfx::Transform transform; |
| + transform.MakeIdentity(); |
| + transform.ApplyPerspectiveDepth(50.0); |
| + transform.RotateAboutYAxis(89.0); |
| + |
| + gfx::QuadF src_quad(gfx::PointF(0.0f, 100.0f), gfx::PointF(0.0f, -100.0f), |
|
flackr
2016/12/08 20:24:01
It might be worth explicitly pointing out the two
Peter Mayo
2016/12/08 20:29:09
Actually a comment about the whole scenario may be
|
| + gfx::PointF(-99.0f, -300.0f), |
| + gfx::PointF(-99.0f, -100.0f)); |
| + |
| + gfx::PointF clipped_quad[8]; |
| + int num_vertices_in_clipped_quad; |
| + |
| + MathUtil::MapClippedQuad(transform, src_quad, clipped_quad, |
| + &num_vertices_in_clipped_quad); |
| + |
| + printf("transformed quad is ["); |
| + for (int i = 0; i < num_vertices_in_clipped_quad; i++) { |
| + if (i > 0) |
| + printf(", "); |
| + printf("(%.5f, %.5f)", clipped_quad[i].x(), clipped_quad[i].y()); |
| + } |
| + printf("]\n"); |
|
flackr
2016/12/08 20:24:01
debugging code?
Peter Mayo
2016/12/08 20:29:09
Yup, hence 'First ...
Definitely more to come, an
|
| + |
| + EXPECT_EQ(num_vertices_in_clipped_quad, 3); |
| +} |
| + |
| } // namespace |
| } // namespace cc |