diff options
-rw-r--r-- | tests/Matrix44Test.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/Matrix44Test.cpp b/tests/Matrix44Test.cpp index bdeafd4ff9..b2c7071b79 100644 --- a/tests/Matrix44Test.cpp +++ b/tests/Matrix44Test.cpp @@ -231,6 +231,17 @@ static void test_gettype(skiatest::Reporter* reporter) { matrix.set(3, 2, 1); REPORTER_ASSERT(reporter, matrix.getType() & SkMatrix44::kPerspective_Mask); + + // ensure that negative zero is treated as zero + SkMScalar dx = 0; + SkMScalar dy = 0; + SkMScalar dz = 0; + matrix.setTranslate(-dx, -dy, -dz); + REPORTER_ASSERT(reporter, matrix.isIdentity()); + matrix.preTranslate(-dx, -dy, -dz); + REPORTER_ASSERT(reporter, matrix.isIdentity()); + matrix.postTranslate(-dx, -dy, -dz); + REPORTER_ASSERT(reporter, matrix.isIdentity()); } static void test_common_angles(skiatest::Reporter* reporter) { |