From 87f99cb543dbba608136bbd2a7b1e6b3356fd6f9 Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Fri, 19 Apr 2013 12:25:00 +0000 Subject: [PATCH] ensure that negative zeros are still ignored when computing isIdentity() crbug.com/162747 git-svn-id: http://skia.googlecode.com/svn/trunk@8761 2bbb7eff-a529-9590-31e7-b0007b416f81 --- tests/Matrix44Test.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/Matrix44Test.cpp b/tests/Matrix44Test.cpp index bdeafd4..b2c7071 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) { -- 2.7.4