skia2/tests/HSVRoundTripTest.cpp

31 lines
925 B
C++
Raw Normal View History

/*
* Copyright 2017 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "Test.h"
#include "SkColor.h"
DEF_TEST(ColorToHSVRoundTrip, reporter) {
SkScalar hsv[3];
for (U8CPU r = 0; r <= 255; r++) {
for (U8CPU g = 0; g <= 255; g++) {
for (U8CPU b = 0; b <= 255; b++) {
SkColor color = SkColorSetRGB(r, g, b);
SkColorToHSV(color, hsv);
SkColor result = SkHSVToColor(0xFF, hsv);
if (result != color) {
ERRORF(reporter, "HSV roundtrip mismatch!\n"
"\toriginal: %X\n"
"\tHSV: %f, %f, %f\n"
"\tresult: %X\n",
color, hsv[0], hsv[1], hsv[2], result);
}
}
}
}
}