summaryrefslogtreecommitdiff
path: root/chromium/ui/gfx/transform_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/gfx/transform_unittest.cc')
-rw-r--r--chromium/ui/gfx/transform_unittest.cc41
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) {