blob: 7de98907099c7737a8c0e09f412d42b8a3ee9fc3 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace blink {
class SkiaUtilsTest : public testing::Test {};
// Tests converting a SkColorSpace to a gfx::ColorSpace
TEST_F(SkiaUtilsTest, SkColorSpaceToGfxColorSpace) {
std::vector<sk_sp<SkColorSpace>> skia_color_spaces;
SkColorSpace::RenderTargetGamma gammas[] = {
SkColorSpace::kLinear_RenderTargetGamma,
SkColorSpace::kSRGB_RenderTargetGamma};
SkColorSpace::Gamut gamuts[] = {
SkColorSpace::kSRGB_Gamut, SkColorSpace::kAdobeRGB_Gamut,
SkColorSpace::kDCIP3_D65_Gamut, SkColorSpace::kRec2020_Gamut,
};
skia_color_spaces.push_back((SkColorSpace::MakeSRGB())->makeColorSpin());
for (unsigned gamma_itr = 0; gamma_itr < 2; gamma_itr++) {
for (unsigned gamut_itr = 0; gamut_itr < 4; gamut_itr++) {
skia_color_spaces.push_back(
SkColorSpace::MakeRGB(gammas[gamma_itr], gamuts[gamut_itr]));
}
}
std::vector<gfx::ColorSpace> gfx_color_spaces;
for (unsigned i = 0; i < skia_color_spaces.size(); i++) {
gfx::ColorSpace color_space =
SkColorSpaceToGfxColorSpace(skia_color_spaces[i]);
ASSERT_TRUE(SkColorSpace::Equals(color_space.ToSkColorSpace().get(),
skia_color_spaces[i].get()));
}
}
} // namespace blink