aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/MathTest.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2018-03-05 11:49:51 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-05 17:13:46 +0000
commitf6188425c7501ee0d7485d933f0c93b25972e58b (patch)
tree81087e1e6bd94d7be8b4780c4516901c5ff09a2c /tests/MathTest.cpp
parentf0176283461418b68f58e8ed4e08bf2fe5462fc0 (diff)
Extend math test to ensure our min/max/pin handle non-finites
Bug: skia: Change-Id: I4fe544c32da071d161229b12f7b90a3296b0d499 Reviewed-on: https://skia-review.googlesource.com/112140 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'tests/MathTest.cpp')
-rw-r--r--tests/MathTest.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/MathTest.cpp b/tests/MathTest.cpp
index 31bb45308c..94b15207f7 100644
--- a/tests/MathTest.cpp
+++ b/tests/MathTest.cpp
@@ -691,6 +691,17 @@ DEF_TEST(FloatSaturate32, reporter) {
for (auto r : recs) {
int i = sk_float_saturate2int(r.fFloat);
REPORTER_ASSERT(reporter, r.fExpectedInt == i);
+
+ // ensure that these bound even non-finite values (including NaN)
+
+ SkScalar mx = SkTMax<SkScalar>(r.fFloat, 50);
+ REPORTER_ASSERT(reporter, mx >= 50);
+
+ SkScalar mn = SkTMin<SkScalar>(r.fFloat, 50);
+ REPORTER_ASSERT(reporter, mn <= 50);
+
+ SkScalar p = SkTPin<SkScalar>(r.fFloat, 0, 100);
+ REPORTER_ASSERT(reporter, p >= 0 && p <= 100);
}
}