// Copyright 2016 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 "base/logging.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/gfx/color_space.h" #include "ui/gfx/icc_profile.h" #include "ui/gfx/test/icc_profiles.h" namespace gfx { TEST(ICCProfile, Conversions) { ICCProfile icc_profile = ICCProfileForTestingColorSpin(); ColorSpace color_space_from_icc_profile = icc_profile.GetColorSpace(); ICCProfile icc_profile_from_color_space; bool result = color_space_from_icc_profile.GetICCProfile(&icc_profile_from_color_space); EXPECT_TRUE(result); EXPECT_TRUE(icc_profile == icc_profile_from_color_space); } TEST(ICCProfile, SRGB) { ColorSpace color_space = ColorSpace::CreateSRGB(); sk_sp sk_color_space = SkColorSpace::MakeSRGB(); // These should be the same pointer, not just equal. EXPECT_EQ(color_space.ToSkColorSpace().get(), sk_color_space.get()); } TEST(ICCProfile, Equality) { ICCProfile spin_profile = ICCProfileForTestingColorSpin(); ICCProfile adobe_profile = ICCProfileForTestingAdobeRGB(); EXPECT_TRUE(spin_profile == spin_profile); EXPECT_FALSE(spin_profile != spin_profile); EXPECT_FALSE(spin_profile == adobe_profile); EXPECT_TRUE(spin_profile != adobe_profile); gfx::ColorSpace spin_space = spin_profile.GetColorSpace(); gfx::ColorSpace adobe_space = adobe_profile.GetColorSpace(); EXPECT_TRUE(spin_space == spin_space); EXPECT_FALSE(spin_space != spin_space); EXPECT_FALSE(spin_space == adobe_space); EXPECT_TRUE(spin_space != adobe_space); ICCProfile temp; bool get_icc_result = false; get_icc_result = spin_space.GetICCProfile(&temp); EXPECT_TRUE(get_icc_result); EXPECT_TRUE(spin_profile == temp); EXPECT_FALSE(spin_profile != temp); get_icc_result = adobe_space.GetICCProfile(&temp); EXPECT_TRUE(get_icc_result); EXPECT_FALSE(spin_profile == temp); EXPECT_TRUE(spin_profile != temp); EXPECT_TRUE(!!spin_space.ToSkColorSpace()); EXPECT_TRUE(!!adobe_space.ToSkColorSpace()); EXPECT_FALSE(SkColorSpace::Equals( spin_space.ToSkColorSpace().get(), adobe_space.ToSkColorSpace().get())); } } // namespace gfx