aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/Matrix44Test.cpp
diff options
context:
space:
mode:
authorGravatar tomhudson <tomhudson@google.com>2014-09-16 08:29:29 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-09-16 08:29:29 -0700
commita32f1758b7ebd889eecfdc67c935e7edcedc5be3 (patch)
tree0fc0cba22953bbe7f34ea45759012f422d4d5646 /tests/Matrix44Test.cpp
parent49586bec7383d4ccb81f85f8e2dc4162e2d4f6a8 (diff)
Add helper SkMatrix44::hasPerspective()
BUG=skia:1017 R=danakj@chromium.org, reed@google.com Author: tomhudson@google.com Review URL: https://codereview.chromium.org/513343002
Diffstat (limited to 'tests/Matrix44Test.cpp')
-rw-r--r--tests/Matrix44Test.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/Matrix44Test.cpp b/tests/Matrix44Test.cpp
index 443086dbef..0bd4a8ba13 100644
--- a/tests/Matrix44Test.cpp
+++ b/tests/Matrix44Test.cpp
@@ -521,6 +521,35 @@ static void test_3x3_conversion(skiatest::Reporter* reporter) {
REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[3], vec4transformed2[3]));
}
+static void test_has_perspective(skiatest::Reporter* reporter) {
+ SkMatrix44 transform(SkMatrix44::kIdentity_Constructor);
+
+ transform.set(3, 2, -0.1);
+ REPORTER_ASSERT(reporter, transform.hasPerspective());
+
+ transform.reset();
+ REPORTER_ASSERT(reporter, !transform.hasPerspective());
+
+ transform.set(3, 0, -1.0);
+ REPORTER_ASSERT(reporter, transform.hasPerspective());
+
+ transform.reset();
+ transform.set(3, 1, -1.0);
+ REPORTER_ASSERT(reporter, transform.hasPerspective());
+
+ transform.reset();
+ transform.set(3, 2, -0.3);
+ REPORTER_ASSERT(reporter, transform.hasPerspective());
+
+ transform.reset();
+ transform.set(3, 3, 0.5);
+ REPORTER_ASSERT(reporter, transform.hasPerspective());
+
+ transform.reset();
+ transform.set(3, 3, 0.0);
+ REPORTER_ASSERT(reporter, transform.hasPerspective());
+}
+
DEF_TEST(Matrix44, reporter) {
SkMatrix44 mat(SkMatrix44::kUninitialized_Constructor);
SkMatrix44 inverse(SkMatrix44::kUninitialized_Constructor);
@@ -626,4 +655,5 @@ DEF_TEST(Matrix44, reporter) {
test_scale(reporter);
test_map2(reporter);
test_3x3_conversion(reporter);
+ test_has_perspective(reporter);
}