print_settings_unittest.cc 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // 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. #include "printing/print_settings.h"
  5. #include "base/test/gtest_util.h"
  6. #include "build/build_config.h"
  7. #include "build/chromeos_buildflags.h"
  8. #include "printing/mojom/print.mojom.h"
  9. #include "testing/gtest/include/gtest/gtest.h"
  10. namespace printing {
  11. TEST(PrintSettingsTest, ColorModeToColorModel) {
  12. for (int mode = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
  13. mode <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++mode) {
  14. EXPECT_EQ(ColorModeToColorModel(mode),
  15. static_cast<mojom::ColorModel>(mode));
  16. }
  17. // Check edge cases.
  18. EXPECT_EQ(ColorModeToColorModel(
  19. static_cast<int>(mojom::ColorModel::kUnknownColorModel) - 1),
  20. mojom::ColorModel::kUnknownColorModel);
  21. EXPECT_EQ(ColorModeToColorModel(
  22. static_cast<int>(mojom::ColorModel::kColorModelLast) + 1),
  23. mojom::ColorModel::kUnknownColorModel);
  24. }
  25. TEST(PrintSettingsTest, IsColorModelSelected) {
  26. for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel) + 1;
  27. model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
  28. EXPECT_TRUE(IsColorModelSelected(static_cast<mojom::ColorModel>(model))
  29. .has_value());
  30. }
  31. }
  32. TEST(PrintSettingsDeathTest, IsColorModelSelectedEdges) {
  33. ::testing::FLAGS_gtest_death_test_style = "threadsafe";
  34. EXPECT_DCHECK_DEATH(
  35. IsColorModelSelected(mojom::ColorModel::kUnknownColorModel));
  36. }
  37. #if defined(USE_CUPS)
  38. TEST(PrintSettingsTest, GetColorModelForModel) {
  39. std::string color_setting_name;
  40. std::string color_value;
  41. for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
  42. model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
  43. GetColorModelForModel(static_cast<mojom::ColorModel>(model),
  44. &color_setting_name, &color_value);
  45. EXPECT_FALSE(color_setting_name.empty());
  46. EXPECT_FALSE(color_value.empty());
  47. color_setting_name.clear();
  48. color_value.clear();
  49. }
  50. }
  51. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS_ASH)
  52. TEST(PrintSettingsTest, GetIppColorModelForModel) {
  53. for (int model = static_cast<int>(mojom::ColorModel::kUnknownColorModel);
  54. model <= static_cast<int>(mojom::ColorModel::kColorModelLast); ++model) {
  55. EXPECT_FALSE(GetIppColorModelForModel(static_cast<mojom::ColorModel>(model))
  56. .empty());
  57. }
  58. }
  59. #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS_ASH)
  60. #endif // defined(USE_CUPS)
  61. } // namespace printing