blob: efe39a4715ca143ff208387c7db8b042fc8c12ca [file] [log] [blame]
Ravi Mistry113d05f2016-12-17 01:31:03 +00001/*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
Mike Klein5b58b7c2018-05-22 13:47:52 +00008#include "SkTypes.h"
Ravi Mistry113d05f2016-12-17 01:31:03 +00009
Brian Osman8dc68c62018-05-30 12:57:45 -040010#include "Resources.h"
11#include "SkColorSpacePriv.h"
12#include "SkICC.h"
13#include "SkString.h"
14#include "Test.h"
Hal Canary8a001442018-09-19 11:31:27 -040015
Brian Osman8dc68c62018-05-30 12:57:45 -040016#include "../third_party/skcms/skcms.h"
Ravi Mistry113d05f2016-12-17 01:31:03 +000017
Brian Osman8dc68c62018-05-30 12:57:45 -040018DEF_TEST(AdobeRGB, r) {
19 if (sk_sp<SkData> profile = GetResourceAsData("icc_profiles/AdobeRGB1998.icc")) {
20 skcms_ICCProfile parsed;
21 REPORTER_ASSERT(r, skcms_Parse(profile->data(), profile->size(), &parsed));
Ravi Mistry113d05f2016-12-17 01:31:03 +000022
Brian Osman8dc68c62018-05-30 12:57:45 -040023 auto got = SkColorSpace::Make(parsed);
Brian Osman82ebe042019-01-04 17:03:00 -050024 auto want = SkColorSpace::MakeRGB(SkNamedTransferFn::k2Dot2, SkNamedGamut::kAdobeRGB);
Brian Osman8dc68c62018-05-30 12:57:45 -040025 REPORTER_ASSERT(r, SkColorSpace::Equals(got.get(), want.get()));
Matt Sarett1bfcf882016-12-19 18:37:34 -050026 }
Brian Osman8dc68c62018-05-30 12:57:45 -040027}