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