blob: bca79d83161fca7c871095ae58b7065965322c5b [file] [log] [blame]
Daniel Hosseinian73bff522020-04-14 17:06:111// Copyright 2020 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "printing/print_settings.h"
6
7#include "base/test/gtest_util.h"
Daniel Hosseinian0f7cafd2020-07-18 01:38:008#include "build/build_config.h"
Yuta Hijikata2f663892020-10-06 10:34:229#include "build/chromeos_buildflags.h"
Alan Screen3fb63bf2020-08-19 00:11:2310#include "printing/mojom/print.mojom.h"
Daniel Hosseinian73bff522020-04-14 17:06:1111#include "testing/gtest/include/gtest/gtest.h"
12
13namespace printing {
14
Alan Screen558045a2020-08-28 23:18:5815TEST(PrintSettingsTest, ColorModeToColorModel) {
16 for (int mode = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
17 mode <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++mode) {
18 EXPECT_EQ(ColorModeToColorModel(mode),
19 static_cast<mojom::ColorModel>(mode));
20 }
21
22 // Check edge cases.
23 EXPECT_EQ(ColorModeToColorModel(
24 static_cast<int>(mojom::ColorModel::kUnknownColorModel) - 1),
25 mojom::ColorModel::kUnknownColorModel);
26 EXPECT_EQ(ColorModeToColorModel(
27 static_cast<int>(mojom::ColorModel::kColorModelLast) + 1),
28 mojom::ColorModel::kUnknownColorModel);
29}
30
Daniel Hosseinian73bff522020-04-14 17:06:1131TEST(PrintSettingsTest, IsColorModelSelected) {
Alan Screen3fb63bf2020-08-19 00:11:2332 for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel) + 1;
Alan Screen558045a2020-08-28 23:18:5833 model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
34 EXPECT_TRUE(IsColorModelSelected(static_cast<mojom::ColorModel>(model))
35 .has_value());
36 }
Daniel Hosseinian73bff522020-04-14 17:06:1137}
38
Daniel Hosseinian669080e2020-06-11 18:48:0739TEST(PrintSettingsDeathTest, IsColorModelSelectedEdges) {
Daniel Hosseinian73bff522020-04-14 17:06:1140 ::testing::FLAGS_gtest_death_test_style = "threadsafe";
Alan Screen558045a2020-08-28 23:18:5841 EXPECT_DCHECK_DEATH(
42 IsColorModelSelected(mojom::ColorModel::kUnknownColorModel));
Daniel Hosseinian73bff522020-04-14 17:06:1143}
Daniel Hosseinian60dd6ce92020-04-27 19:30:1244#if defined(USE_CUPS)
Alan Screen558045a2020-08-28 23:18:5845TEST(PrintSettingsTest, GetColorModelForModel) {
Daniel Hosseinian60dd6ce92020-04-27 19:30:1246 std::string color_setting_name;
47 std::string color_value;
Alan Screen3fb63bf2020-08-19 00:11:2348 for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
49 model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
Alan Screen558045a2020-08-28 23:18:5850 GetColorModelForModel(static_cast<mojom::ColorModel>(model),
51 &color_setting_name, &color_value);
Daniel Hosseinian60dd6ce92020-04-27 19:30:1252 EXPECT_FALSE(color_setting_name.empty());
53 EXPECT_FALSE(color_value.empty());
54 color_setting_name.clear();
55 color_value.clear();
56 }
57}
Daniel Hosseinian669080e2020-06-11 18:48:0758
Xiaohan Wange3d00dd62022-01-08 02:33:2859#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS_ASH)
Alan Screen558045a2020-08-28 23:18:5860TEST(PrintSettingsTest, GetIppColorModelForModel) {
Alan Screen3fb63bf2020-08-19 00:11:2361 for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
Alan Screen558045a2020-08-28 23:18:5862 model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
63 EXPECT_FALSE(GetIppColorModelForModel(static_cast<mojom::ColorModel>(model))
64 .empty());
65 }
Daniel Hosseinian0f7cafd2020-07-18 01:38:0066}
Xiaohan Wange3d00dd62022-01-08 02:33:2867#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS_ASH)
Daniel Hosseinian60dd6ce92020-04-27 19:30:1268#endif // defined(USE_CUPS)
69
Daniel Hosseinian73bff522020-04-14 17:06:1170} // namespace printing