aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ICCTest.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-05-30 12:57:45 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-30 17:37:49 +0000
commit8dc68c67f827b5b98e05946da251d0f2b2c27e98 (patch)
treea5a08ed07409c9e0d951be5f6497338050bae520 /tests/ICCTest.cpp
parent588f879677d4f36e16a42dd96876534f104c2e2f (diff)
Make skcms mandatory
Change-Id: I6b08cd586d313e3bc41c0da90698fc26ae1a8bb8 Reviewed-on: https://skia-review.googlesource.com/130822 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'tests/ICCTest.cpp')
-rw-r--r--tests/ICCTest.cpp100
1 files changed, 48 insertions, 52 deletions
diff --git a/tests/ICCTest.cpp b/tests/ICCTest.cpp
index e88255b2cd..d8f5a35fdb 100644
--- a/tests/ICCTest.cpp
+++ b/tests/ICCTest.cpp
@@ -7,67 +7,63 @@
#include "SkTypes.h"
-#if defined(SK_USE_SKCMS)
+#include "Resources.h"
+#include "SkColorSpacePriv.h"
+#include "SkICC.h"
+#include "SkString.h"
+#include "Test.h"
+#include "../third_party/skcms/skcms.h"
- #include "Resources.h"
- #include "SkColorSpacePriv.h"
- #include "SkICC.h"
- #include "SkString.h"
- #include "Test.h"
- #include "skcms.h"
+DEF_TEST(WriteICCProfile, r) {
+ auto adobeRGB = SkColorSpace::MakeRGB(g2Dot2_TransferFn, SkColorSpace::kAdobeRGB_Gamut);
- DEF_TEST(WriteICCProfile, r) {
- auto adobeRGB = SkColorSpace::MakeRGB(g2Dot2_TransferFn, SkColorSpace::kAdobeRGB_Gamut);
+ struct {
+ SkColorSpaceTransferFn fn;
+ const float* toXYZD50;
+ const char* desc;
+ sk_sp<SkColorSpace> want;
+ } tests[] = {
+ {g2Dot2_TransferFn, gAdobeRGB_toXYZD50, "AdobeRGB", adobeRGB},
+ { gSRGB_TransferFn, gSRGB_toXYZD50, "sRGB", SkColorSpace::MakeSRGB()},
+ };
- struct {
- SkColorSpaceTransferFn fn;
- const float* toXYZD50;
- const char* desc;
- sk_sp<SkColorSpace> want;
- } tests[] = {
- {g2Dot2_TransferFn, gAdobeRGB_toXYZD50, "AdobeRGB", adobeRGB},
- { gSRGB_TransferFn, gSRGB_toXYZD50, "sRGB", SkColorSpace::MakeSRGB()},
- };
+ for (auto test : tests) {
+ sk_sp<SkData> profile = SkWriteICCProfile(test.fn, test.toXYZD50);
+ REPORTER_ASSERT(r, profile);
- for (auto test : tests) {
- sk_sp<SkData> profile = SkWriteICCProfile(test.fn, test.toXYZD50);
- REPORTER_ASSERT(r, profile);
+ skcms_ICCProfile parsed;
+ REPORTER_ASSERT(r, skcms_Parse(profile->data(), profile->size(), &parsed));
- skcms_ICCProfile parsed;
- REPORTER_ASSERT(r, skcms_Parse(profile->data(), profile->size(), &parsed));
+ sk_sp<SkColorSpace> got = SkColorSpace::Make(parsed);
+ REPORTER_ASSERT(r, got);
+ REPORTER_ASSERT(r, SkColorSpace::Equals(got.get(), test.want.get()));
- sk_sp<SkColorSpace> got = SkColorSpace::Make(parsed);
- REPORTER_ASSERT(r, got);
- REPORTER_ASSERT(r, SkColorSpace::Equals(got.get(), test.want.get()));
+ skcms_ICCTag desc;
+ REPORTER_ASSERT(r, skcms_GetTagBySignature(&parsed,
+ SkSetFourByteTag('d','e','s','c'),
+ &desc));
- skcms_ICCTag desc;
- REPORTER_ASSERT(r, skcms_GetTagBySignature(&parsed,
- SkSetFourByteTag('d','e','s','c'),
- &desc));
-
- // Rather than really carefully break down the 'desc' tag,
- // just check our expected description is somewhere in there (as big-endian UTF-16).
- uint8_t big_endian_utf16[16];
- for (size_t i = 0; i < strlen(test.desc); i++) {
- big_endian_utf16[2*i+0] = 0;
- big_endian_utf16[2*i+1] = test.desc[i];
- }
-
- SkString haystack((const char*)desc.buf, desc.size),
- needle ((const char*)big_endian_utf16, 2*strlen(test.desc));
- REPORTER_ASSERT(r, haystack.contains(needle.c_str()));
+ // Rather than really carefully break down the 'desc' tag,
+ // just check our expected description is somewhere in there (as big-endian UTF-16).
+ uint8_t big_endian_utf16[16];
+ for (size_t i = 0; i < strlen(test.desc); i++) {
+ big_endian_utf16[2*i+0] = 0;
+ big_endian_utf16[2*i+1] = test.desc[i];
}
+
+ SkString haystack((const char*)desc.buf, desc.size),
+ needle ((const char*)big_endian_utf16, 2*strlen(test.desc));
+ REPORTER_ASSERT(r, haystack.contains(needle.c_str()));
}
+}
- DEF_TEST(AdobeRGB, r) {
- if (sk_sp<SkData> profile = GetResourceAsData("icc_profiles/AdobeRGB1998.icc")) {
- skcms_ICCProfile parsed;
- REPORTER_ASSERT(r, skcms_Parse(profile->data(), profile->size(), &parsed));
+DEF_TEST(AdobeRGB, r) {
+ if (sk_sp<SkData> profile = GetResourceAsData("icc_profiles/AdobeRGB1998.icc")) {
+ skcms_ICCProfile parsed;
+ REPORTER_ASSERT(r, skcms_Parse(profile->data(), profile->size(), &parsed));
- auto got = SkColorSpace::Make(parsed);
- auto want = SkColorSpace::MakeRGB(g2Dot2_TransferFn, SkColorSpace::kAdobeRGB_Gamut);
- REPORTER_ASSERT(r, SkColorSpace::Equals(got.get(), want.get()));
- }
+ auto got = SkColorSpace::Make(parsed);
+ auto want = SkColorSpace::MakeRGB(g2Dot2_TransferFn, SkColorSpace::kAdobeRGB_Gamut);
+ REPORTER_ASSERT(r, SkColorSpace::Equals(got.get(), want.get()));
}
-
-#endif
+}