1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <gtest/gtest.h>
17 #include <string>
18 #include <vector>
19 #include "print_service_converter.h"
20 #include "print_page_size.h"
21 #include "print_log.h"
22
23 using namespace testing::ext;
24
25 namespace OHOS {
26 namespace Print {
27
28 class PrintServiceConverterTest : public testing::Test {
29 public:
30 static void SetUpTestCase(void);
31 static void TearDownTestCase(void);
32 void SetUp();
33 void TearDown();
34 };
35
SetUpTestCase(void)36 void PrintServiceConverterTest::SetUpTestCase(void) {}
37
TearDownTestCase(void)38 void PrintServiceConverterTest::TearDownTestCase(void) {}
39
SetUp(void)40 void PrintServiceConverterTest::SetUp(void)
41 {
42 static int32_t testNo = 0;
43 PRINT_HILOGI("PrintServiceConverterTest_%{public}d", ++testNo);
44 }
45
TearDown(void)46 void PrintServiceConverterTest::TearDown(void) {}
47
48 /**
49 * @tc.name: PrintServiceConverterTest_0001
50 * @tc.desc: reportPrintSuccess
51 * @tc.type: FUNC
52 * @tc.require:
53 */
54 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0001_NeedRename, TestSize.Level1)
55 {
56 int dpc = 120;
57 EXPECT_EQ(DpcToDpi(dpc), 300);
58 }
59
60 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0002_NeedRename, TestSize.Level1)
61 {
62 std::vector<std::string> list;
63 list.push_back("1111");
64 list.push_back("2222");
65 std::string value = "1111";
66 AddToUniqueList(list, value);
67 EXPECT_EQ(list.size(), 2);
68 }
69
70 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0003_NeedRename, TestSize.Level1)
71 {
72 std::vector<std::string> list;
73 list.push_back("1111");
74 list.push_back("2222");
75 std::string value = "3333";
76 AddToUniqueList(list, value);
77 EXPECT_EQ(list.size(), 3);
78 }
79
80 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0004_NeedRename, TestSize.Level1)
81 {
82 int code = 3;
83 EXPECT_EQ(GetQulityString(code), "3");
84 }
85
86 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0005_NeedRename, TestSize.Level1)
87 {
88 const char* src = nullptr;
89 ColorModeCode dst;
90 EXPECT_EQ(ConvertColorModeCode(src, dst), false);
91 }
92
93 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0006_NeedRename, TestSize.Level1)
94 {
95 PrintPageSize pageSize;
96 Json::Value jsonObject;
97 EXPECT_EQ(ConvertPageSizeToJson(pageSize, jsonObject), true);
98 }
99
100 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0007_NeedRename, TestSize.Level1)
101 {
102 const char* src = "color";
103 ColorModeCode dst;
104 bool re = ConvertColorModeCode(src, dst);
105 EXPECT_EQ(dst, 1);
106 EXPECT_EQ(re, true);
107 }
108
109 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0008_NeedRename, TestSize.Level1)
110 {
111 const char* src = "monochrome";
112 ColorModeCode dst;
113 bool re = ConvertColorModeCode(src, dst);
114 EXPECT_EQ(dst, 0);
115 EXPECT_EQ(re, true);
116 }
117
118 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0009_NeedRename, TestSize.Level1)
119 {
120 const char* src = "auto";
121 ColorModeCode dst;
122 bool re = ConvertColorModeCode(src, dst);
123 EXPECT_EQ(dst, 2);
124 EXPECT_EQ(re, true);
125 }
126
127 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0010_NeedRename, TestSize.Level1)
128 {
129 const char* src = "sss";
130 ColorModeCode dst;
131 EXPECT_EQ(ConvertColorModeCode(src, dst), false);
132 }
133
134 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0011_NeedRename, TestSize.Level1)
135 {
136 ColorModeCode code = ColorModeCode::COLOR_MODE_COLOR;
137 Json::Value jsonObject;
138 EXPECT_EQ(ConvertColorModeToJson(code, jsonObject), true);
139 }
140
141 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0012_NeedRename, TestSize.Level1)
142 {
143 DuplexModeCode code = DuplexModeCode::DUPLEX_MODE_ONE_SIDED;
144 Json::Value jsonObject;
145 EXPECT_EQ(ConvertDuplexModeToJson(code, jsonObject), true);
146 }
147
148 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0013_NeedRename, TestSize.Level1)
149 {
150 const char* src = nullptr;
151 std::string id = "";
152 EXPECT_EQ(ConvertPageSizeId(src, id), false);
153 }
154
155 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0014_NeedRename, TestSize.Level1)
156 {
157 const char* src = "iso_a4_210x297mm";
158 std::string id = "";
159 EXPECT_EQ(ConvertPageSizeId(src, id), true);
160 }
161
162 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0015_NeedRename, TestSize.Level1)
163 {
164 const char* src = nullptr;
165 PrintPageSize dst;
166 EXPECT_EQ(ConvertPrintPageSize(src, dst), false);
167 }
168
169 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0016_NeedRename, TestSize.Level1)
170 {
171 const char* src = "iso_a4_210x297mm";
172 PrintPageSize dst;
173 EXPECT_EQ(ConvertPrintPageSize(src, dst), true);
174 }
175
176 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0017_NeedRename, TestSize.Level1)
177 {
178 const char* src = "na_number-10_4.125x9.5in";
179 PrintPageSize dst;
180 EXPECT_EQ(ConvertPrintPageSize(src, dst), true);
181 }
182
183 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0018_NeedRename, TestSize.Level1)
184 {
185 const char* src = "custom_390.03x540.03mm_390.03x540.03mm";
186 PrintPageSize dst;
187 EXPECT_EQ(ConvertPrintPageSize(src, dst), true);
188 }
189
190 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0019_NeedRename, TestSize.Level1)
191 {
192 const char* src = "nanumber";
193 PrintPageSize dst;
194 EXPECT_EQ(ConvertPrintPageSize(src, dst), false);
195 }
196
197 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0020_NeedRename, TestSize.Level1)
198 {
199 const char* src = "custom_min_50.8x85.94mm";
200 PrintPageSize dst;
201 EXPECT_EQ(ConvertPrintPageSize(src, dst), false);
202 }
203
204 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0021_NeedRename, TestSize.Level1)
205 {
206 const char* src = "custom_390.03x540.03mm_390.03540.03mm";
207 PrintPageSize dst;
208 EXPECT_EQ(ConvertPrintPageSize(src, dst), false);
209 }
210
211 HWTEST_F(PrintServiceConverterTest, PrintServiceConverterTest_0022_NeedRename, TestSize.Level1)
212 {
213 const char* src = "custom_390.03x540.03mm_390.03x540.03cm";
214 PrintPageSize dst;
215 EXPECT_EQ(ConvertPrintPageSize(src, dst), false);
216 }
217
218 }
219 }
220