blob: 90168d4a67b12ced17b77db7ffc82590f10a835d [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"
Alan Screen3fb63bf2020-08-19 00:11:239#include "printing/mojom/print.mojom.h"
Daniel Hosseinian73bff522020-04-14 17:06:1110#include "testing/gtest/include/gtest/gtest.h"
11
12namespace printing {
13
Alan Screen558045a2020-08-28 23:18:5814TEST(PrintSettingsTest, ColorModeToColorModel) {
15 for (int mode = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
16 mode <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++mode) {
17 EXPECT_EQ(ColorModeToColorModel(mode),
18 static_cast<mojom::ColorModel>(mode));
19 }
20
21 // Check edge cases.
22 EXPECT_EQ(ColorModeToColorModel(
23 static_cast<int>(mojom::ColorModel::kUnknownColorModel) - 1),
24 mojom::ColorModel::kUnknownColorModel);
25 EXPECT_EQ(ColorModeToColorModel(
26 static_cast<int>(mojom::ColorModel::kColorModelLast) + 1),
27 mojom::ColorModel::kUnknownColorModel);
28}
29
Daniel Hosseinian73bff522020-04-14 17:06:1130TEST(PrintSettingsTest, IsColorModelSelected) {
Alan Screen3fb63bf2020-08-19 00:11:2331 for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel) + 1;
Alan Screen558045a2020-08-28 23:18:5832 model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
33 EXPECT_TRUE(IsColorModelSelected(static_cast<mojom::ColorModel>(model))
34 .has_value());
35 }
Daniel Hosseinian73bff522020-04-14 17:06:1136}
37
Daniel Hosseinian669080e2020-06-11 18:48:0738TEST(PrintSettingsDeathTest, IsColorModelSelectedEdges) {
Daniel Hosseinian73bff522020-04-14 17:06:1139 ::testing::FLAGS_gtest_death_test_style = "threadsafe";
Alan Screen558045a2020-08-28 23:18:5840 EXPECT_DCHECK_DEATH(
41 IsColorModelSelected(mojom::ColorModel::kUnknownColorModel));
Daniel Hosseinian73bff522020-04-14 17:06:1142}
Daniel Hosseinian60dd6ce92020-04-27 19:30:1243#if defined(USE_CUPS)
Alan Screen558045a2020-08-28 23:18:5844TEST(PrintSettingsTest, GetColorModelForModel) {
Daniel Hosseinian60dd6ce92020-04-27 19:30:1245 std::string color_setting_name;
46 std::string color_value;
Alan Screen3fb63bf2020-08-19 00:11:2347 for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
48 model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
Alan Screen558045a2020-08-28 23:18:5849 GetColorModelForModel(static_cast<mojom::ColorModel>(model),
50 &color_setting_name, &color_value);
Daniel Hosseinian60dd6ce92020-04-27 19:30:1251 EXPECT_FALSE(color_setting_name.empty());
52 EXPECT_FALSE(color_value.empty());
53 color_setting_name.clear();
54 color_value.clear();
55 }
56}
Daniel Hosseinian669080e2020-06-11 18:48:0757
Avi Drissman578cd722020-07-29 17:21:1558#if defined(OS_MAC) || defined(OS_CHROMEOS)
Alan Screen558045a2020-08-28 23:18:5859TEST(PrintSettingsTest, GetIppColorModelForModel) {
Alan Screen3fb63bf2020-08-19 00:11:2360 for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
Alan Screen558045a2020-08-28 23:18:5861 model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
62 EXPECT_FALSE(GetIppColorModelForModel(static_cast<mojom::ColorModel>(model))
63 .empty());
64 }
Daniel Hosseinian0f7cafd2020-07-18 01:38:0065}
Avi Drissman578cd722020-07-29 17:21:1566#endif // defined(OS_MAC) || defined(OS_CHROMEOS)
Daniel Hosseinian60dd6ce92020-04-27 19:30:1267#endif // defined(USE_CUPS)
68
Daniel Hosseinian73bff522020-04-14 17:06:1169} // namespace printing