Chromium Code Reviews| Index: tests/SwizzlerTest.cpp |
| diff --git a/tests/SwizzlerTest.cpp b/tests/SwizzlerTest.cpp |
| index e1626d52f114d761c8ac3331d8d40205f8f955a7..1fe93587d83cc862c8f1d538c843801c047c57c0 100644 |
| --- a/tests/SwizzlerTest.cpp |
| +++ b/tests/SwizzlerTest.cpp |
| @@ -5,6 +5,7 @@ |
| * found in the LICENSE file. |
| */ |
| +#include "SkSwizzle.h" |
| #include "SkSwizzler.h" |
| #include "Test.h" |
| #include "SkOpts.h" |
| @@ -157,3 +158,27 @@ DEF_TEST(SwizzleOpts, r) { |
| SkOpts::RGBA_to_bgrA(&dst, &src, 1); |
| REPORTER_ASSERT(r, dst == 0xFA04ADCA); |
| } |
| + |
| +DEF_TEST(PublicSwizzleOpts, r) { |
| + uint32_t dst, src; |
| + |
| + // forall c, c*255 == c, c*0 == 0 |
| + for (int c = 0; c <= 255; c++) { |
|
mtklein
2016/03/23 17:35:13
We making these public too?
tomhudson
2016/03/23 17:38:48
My bad.
Done.
|
| + src = (255<<24) | c; |
| + SkOpts::RGBA_to_rgbA(&dst, &src, 1); |
| + REPORTER_ASSERT(r, dst == src); |
| + SkOpts::RGBA_to_bgrA(&dst, &src, 1); |
| + REPORTER_ASSERT(r, dst == (uint32_t)((255<<24) | (c<<16))); |
| + |
| + src = (0<<24) | c; |
| + SkOpts::RGBA_to_rgbA(&dst, &src, 1); |
| + REPORTER_ASSERT(r, dst == 0); |
| + SkOpts::RGBA_to_bgrA(&dst, &src, 1); |
| + REPORTER_ASSERT(r, dst == 0); |
| + } |
| + |
| + // check a totally arbitrary color |
| + src = 0xFACEB004; |
| + SkSwapRB(&dst, &src, 1); |
| + REPORTER_ASSERT(r, dst == 0xFA04B0CE); |
| +} |