diff options
Diffstat (limited to 'chromium/ui/gfx/transform_unittest.cc')
-rw-r--r-- | chromium/ui/gfx/transform_unittest.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chromium/ui/gfx/transform_unittest.cc b/chromium/ui/gfx/transform_unittest.cc index ee8406500b6..35a3fca60b0 100644 --- a/chromium/ui/gfx/transform_unittest.cc +++ b/chromium/ui/gfx/transform_unittest.cc @@ -2220,6 +2220,21 @@ TEST(XFormTest, verifyIsApproximatelyIdentityOrTranslation) { // Exact pure translation. A.MakeIdentity(); + EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); + + // Set translate values to integer values other than 0 or 1. + matrix.set(0, 3, 3); + matrix.set(1, 3, 4); + matrix.set(2, 3, 5); + + EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); + // Set translate values to values other than 0 or 1. matrix.set(0, 3, 3.4f); matrix.set(1, 3, 4.4f); @@ -2227,16 +2242,38 @@ TEST(XFormTest, verifyIsApproximatelyIdentityOrTranslation) { EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(0)); EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); // Approximately pure translation. InitializeApproxIdentityMatrix(&A); + EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(0)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); + // Some values must be exact. matrix.set(3, 0, 0); matrix.set(3, 1, 0); matrix.set(3, 2, 0); matrix.set(3, 3, 1); + EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); + + // Set translate values to values other than 0 or 1. + matrix.set(0, 3, matrix.get(0, 3) + 3); + matrix.set(1, 3, matrix.get(1, 3) + 4); + matrix.set(2, 3, matrix.get(2, 3) + 5); + + EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_TRUE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); + // Set translate values to values other than 0 or 1. matrix.set(0, 3, 3.4f); matrix.set(1, 3, 4.4f); @@ -2244,6 +2281,8 @@ TEST(XFormTest, verifyIsApproximatelyIdentityOrTranslation) { EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(0)); EXPECT_TRUE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); // Not approximately pure translation. InitializeApproxIdentityMatrix(&A); @@ -2261,6 +2300,8 @@ TEST(XFormTest, verifyIsApproximatelyIdentityOrTranslation) { EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(0)); EXPECT_FALSE(A.IsApproximatelyIdentityOrTranslation(kApproxZero)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(0)); + EXPECT_FALSE(A.IsApproximatelyIdentityOrIntegerTranslation(kApproxZero)); } TEST(XFormTest, verifyIsScaleOrTranslation) { |