nup_parameters_unittest.cc 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // Copyright 2018 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/nup_parameters.h"
  5. #include "testing/gtest/include/gtest/gtest.h"
  6. namespace printing {
  7. TEST(NupParametersTest, SetNupParams) {
  8. {
  9. // Set N-up parameters for 1-up, and source doc is portrait.
  10. NupParameters nup_params(1, false);
  11. EXPECT_FALSE(nup_params.landscape());
  12. EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
  13. EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
  14. }
  15. {
  16. // Set N-up parameters for 1-up, and source doc is landscape.
  17. NupParameters nup_params(1, true);
  18. EXPECT_FALSE(nup_params.landscape());
  19. EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
  20. EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
  21. }
  22. {
  23. // Set N-up parameters for 2-up, and source doc is portrait.
  24. NupParameters nup_params(2, false);
  25. EXPECT_TRUE(nup_params.landscape());
  26. EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
  27. EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
  28. }
  29. {
  30. // Set N-up parameters for 2-up, and source doc is landscape.
  31. NupParameters nup_params(2, true);
  32. EXPECT_FALSE(nup_params.landscape());
  33. EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
  34. EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
  35. }
  36. {
  37. // Set N-up parameters for 4-up, and source doc is portrait.
  38. NupParameters nup_params(4, false);
  39. EXPECT_FALSE(nup_params.landscape());
  40. EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
  41. EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
  42. }
  43. {
  44. // Set N-up parameters for 4-up, and source doc is landscape.
  45. NupParameters nup_params(4, true);
  46. EXPECT_TRUE(nup_params.landscape());
  47. EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
  48. EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
  49. }
  50. {
  51. // Set N-up parameters for 6-up, and source doc is portrait.
  52. NupParameters nup_params(6, false);
  53. EXPECT_TRUE(nup_params.landscape());
  54. EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
  55. EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
  56. }
  57. {
  58. // Set N-up parameters for 6-up, and source doc is landscape.
  59. NupParameters nup_params(6, true);
  60. EXPECT_FALSE(nup_params.landscape());
  61. EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
  62. EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
  63. }
  64. {
  65. // Set N-up parameters for 9-up, and source doc is portrait.
  66. NupParameters nup_params(9, false);
  67. EXPECT_FALSE(nup_params.landscape());
  68. EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
  69. EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
  70. }
  71. {
  72. // Set N-up parameters for 9-up, and source doc is landscape.
  73. NupParameters nup_params(9, true);
  74. EXPECT_TRUE(nup_params.landscape());
  75. EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
  76. EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
  77. }
  78. {
  79. // Set N-up parameters for 16-up, and source doc is portrait.
  80. NupParameters nup_params(16, false);
  81. EXPECT_FALSE(nup_params.landscape());
  82. EXPECT_EQ(4, nup_params.num_pages_on_x_axis());
  83. EXPECT_EQ(4, nup_params.num_pages_on_y_axis());
  84. }
  85. {
  86. // Set N-up parameters for 16-up, and source doc is landscape.
  87. NupParameters nup_params(16, true);
  88. EXPECT_TRUE(nup_params.landscape());
  89. EXPECT_EQ(4, nup_params.num_pages_on_x_axis());
  90. EXPECT_EQ(4, nup_params.num_pages_on_y_axis());
  91. }
  92. }
  93. } // namespace printing