From a508f3c62d726867ad9f722623fbf0ab5d06e440 Mon Sep 17 00:00:00 2001 From: mtklein Date: Tue, 1 Sep 2015 06:29:45 -0700 Subject: Require Sk4f::toBytes() clamps BUG=skia:4117 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.android:Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Release-Trybot Review URL: https://codereview.chromium.org/1312053004 --- tests/SkNxTest.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests/SkNxTest.cpp') diff --git a/tests/SkNxTest.cpp b/tests/SkNxTest.cpp index 4005d2518f..185940f195 100644 --- a/tests/SkNxTest.cpp +++ b/tests/SkNxTest.cpp @@ -208,3 +208,18 @@ DEF_TEST(Sk4px_widening, r) { wideLoHiAlt = wideLo + wideHi; REPORTER_ASSERT(r, 0 == memcmp(&wideLoHi, &wideLoHiAlt, sizeof(wideLoHi))); } + +DEF_TEST(Sk4f_toBytes, r) { + uint8_t bytes[4]; + + // toBytes truncates, not rounds. + Sk4f(0.7f).toBytes(bytes); + REPORTER_ASSERT(r, bytes[0] == 0); + + // Clamping edge cases. + Sk4f(-2.0f, -0.7f, 255.9f, 256.0f).toBytes(bytes); + REPORTER_ASSERT(r, bytes[0] == 0); + REPORTER_ASSERT(r, bytes[1] == 0); + REPORTER_ASSERT(r, bytes[2] == 255); + REPORTER_ASSERT(r, bytes[3] == 255); +} -- cgit v1.2.3