diff options
author | Brian Osman <brianosman@google.com> | 2018-05-30 12:57:45 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-30 17:37:49 +0000 |
commit | 8dc68c67f827b5b98e05946da251d0f2b2c27e98 (patch) | |
tree | a5a08ed07409c9e0d951be5f6497338050bae520 /tests/ICCTest.cpp | |
parent | 588f879677d4f36e16a42dd96876534f104c2e2f (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.cpp | 100 |
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 +} |