1 /*
2 * Copyright (c) 2022-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 "screen_client_test.h"
17
18 using namespace testing::ext;
19
20 namespace OHOS {
21 namespace DistributedHardware {
22 constexpr static uint32_t VIDEO_DATA_NUM = 480;
23
SetUpTestCase(void)24 void ScreenClientTest::SetUpTestCase(void) {}
25
TearDownTestCase(void)26 void ScreenClientTest::TearDownTestCase(void) {}
27
SetUp()28 void ScreenClientTest::SetUp()
29 {
30 windowProperty_ = std::make_shared<WindowProperty>();
31 windowProperty_->width = VIDEO_DATA_NUM;
32 windowProperty_->height = VIDEO_DATA_NUM;
33 }
34
TearDown()35 void ScreenClientTest::TearDown()
36 {
37 windowProperty_ = nullptr;
38 }
39
40 /**
41 * @tc.name: AddWindow_001
42 * @tc.desc: Verify the AddWindow function.
43 * @tc.type: FUNC
44 * @tc.require: Issue Number
45 */
HWTEST_F(ScreenClientTest, AddWindow_001, TestSize.Level1)46 HWTEST_F(ScreenClientTest, AddWindow_001, TestSize.Level1)
47 {
48 windowProperty_ = nullptr;
49 int32_t ret = ScreenClient::GetInstance().AddWindow(windowProperty_);
50 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_ADD_WINDOW_ERROR, ret);
51 }
52
53 /**
54 * @tc.name: AddWindow_002
55 * @tc.desc: Verify the AddWindow function.
56 * @tc.type: FUNC
57 * @tc.require: Issue Number
58 */
HWTEST_F(ScreenClientTest, AddWindow_002, TestSize.Level1)59 HWTEST_F(ScreenClientTest, AddWindow_002, TestSize.Level1)
60 {
61 int32_t expectId = ScreenClient::GetInstance().AddWindow(windowProperty_);
62 int32_t ret = ScreenClient::GetInstance().RemoveWindow(expectId);
63 EXPECT_EQ(DH_SUCCESS, ret);
64 }
65
66 /**
67 * @tc.name: ShowWindow_001
68 * @tc.desc: Verify the ShowWindow function.
69 * @tc.type: FUNC
70 * @tc.require: Issue Number
71 */
HWTEST_F(ScreenClientTest, ShowWindow_001, TestSize.Level1)72 HWTEST_F(ScreenClientTest, ShowWindow_001, TestSize.Level1)
73 {
74 int32_t ret = ScreenClient::GetInstance().ShowWindow(0);
75 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_SHOW_WINDOW_ERROR, ret);
76 }
77
78 /**
79 * @tc.name: ShowWindow_002
80 * @tc.desc: Verify the ShowWindow function.
81 * @tc.type: FUNC
82 * @tc.require: Issue Number
83 */
HWTEST_F(ScreenClientTest, ShowWindow_002, TestSize.Level1)84 HWTEST_F(ScreenClientTest, ShowWindow_002, TestSize.Level1)
85 {
86 int32_t windowId = ScreenClient::GetInstance().AddWindow(windowProperty_);
87 int32_t ret = ScreenClient::GetInstance().ShowWindow(windowId);
88 EXPECT_EQ(DH_SUCCESS, ret);
89 ret = ScreenClient::GetInstance().RemoveWindow(windowId);
90 EXPECT_EQ(DH_SUCCESS, ret);
91 }
92
93 /**
94 * @tc.name: ShowWindow_003
95 * @tc.desc: Verify the ShowWindow function.
96 * @tc.type: FUNC
97 * @tc.require: Issue Number
98 */
HWTEST_F(ScreenClientTest, ShowWindow_003, TestSize.Level1)99 HWTEST_F(ScreenClientTest, ShowWindow_003, TestSize.Level1)
100 {
101 int32_t windowId = 100;
102 ScreenClient::GetInstance().surfaceMap_.emplace(windowId, nullptr);
103 int32_t ret = ScreenClient::GetInstance().ShowWindow(windowId);
104 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_SHOW_WINDOW_ERROR, ret);
105 ret = ScreenClient::GetInstance().RemoveWindow(windowId);
106 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_REMOVE_WINDOW_ERROR, ret);
107 }
108
109 /**
110 * @tc.name: HideWindow_001
111 * @tc.desc: Verify the HideWindow function.
112 * @tc.type: FUNC
113 * @tc.require: Issue Number
114 */
HWTEST_F(ScreenClientTest, HideWindow_001, TestSize.Level1)115 HWTEST_F(ScreenClientTest, HideWindow_001, TestSize.Level1)
116 {
117 int32_t ret = ScreenClient::GetInstance().HideWindow(0);
118 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_HIDE_WINDOW_ERROR, ret);
119 }
120
121 /**
122 * @tc.name: HideWindow_002
123 * @tc.desc: Verify the HideWindow function.
124 * @tc.type: FUNC
125 * @tc.require: Issue Number
126 */
HWTEST_F(ScreenClientTest, HideWindow_002, TestSize.Level1)127 HWTEST_F(ScreenClientTest, HideWindow_002, TestSize.Level1)
128 {
129 int32_t windowId = ScreenClient::GetInstance().AddWindow(windowProperty_);
130 int32_t ret = ScreenClient::GetInstance().HideWindow(windowId);
131 EXPECT_EQ(DH_SUCCESS, ret);
132 ret = ScreenClient::GetInstance().RemoveWindow(windowId);
133 EXPECT_EQ(DH_SUCCESS, ret);
134 }
135
136 /**
137 * @tc.name: HideWindow_003
138 * @tc.desc: Verify the HideWindow function.
139 * @tc.type: FUNC
140 * @tc.require: Issue Number
141 */
HWTEST_F(ScreenClientTest, HideWindow_003, TestSize.Level1)142 HWTEST_F(ScreenClientTest, HideWindow_003, TestSize.Level1)
143 {
144 int32_t windowId = 0;
145 ScreenClient::GetInstance().surfaceMap_.emplace(windowId, nullptr);
146 int32_t ret = ScreenClient::GetInstance().HideWindow(windowId);
147 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_HIDE_WINDOW_ERROR, ret);
148 ret = ScreenClient::GetInstance().RemoveWindow(windowId);
149 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_REMOVE_WINDOW_ERROR, ret);
150 }
151
152 /**
153 * @tc.name: MoveWindow_001
154 * @tc.desc: Verify the MoveWindow function.
155 * @tc.type: FUNC
156 * @tc.require: Issue Number
157 */
HWTEST_F(ScreenClientTest, MoveWindow_001, TestSize.Level1)158 HWTEST_F(ScreenClientTest, MoveWindow_001, TestSize.Level1)
159 {
160 int32_t ret = ScreenClient::GetInstance().MoveWindow(0, 0, 0);
161 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_MOVE_WINDOW_ERROR, ret);
162 }
163
164 /**
165 * @tc.name: MoveWindow_002
166 * @tc.desc: Verify the MoveWindow function.
167 * @tc.type: FUNC
168 * @tc.require: Issue Number
169 */
HWTEST_F(ScreenClientTest, MoveWindow_002, TestSize.Level1)170 HWTEST_F(ScreenClientTest, MoveWindow_002, TestSize.Level1)
171 {
172 int32_t windowId = ScreenClient::GetInstance().AddWindow(windowProperty_);
173 int32_t ret = ScreenClient::GetInstance().MoveWindow(windowId, 0, 0);
174 EXPECT_EQ(DH_SUCCESS, ret);
175 ret = ScreenClient::GetInstance().RemoveWindow(windowId);
176 EXPECT_EQ(DH_SUCCESS, ret);
177 }
178
179 /**
180 * @tc.name: MoveWindow_003
181 * @tc.desc: Verify the MoveWindow function.
182 * @tc.type: FUNC
183 * @tc.require: Issue Number
184 */
HWTEST_F(ScreenClientTest, MoveWindow_003, TestSize.Level1)185 HWTEST_F(ScreenClientTest, MoveWindow_003, TestSize.Level1)
186 {
187 int32_t windowId = 0;
188 ScreenClient::GetInstance().surfaceMap_.emplace(windowId, nullptr);
189 int32_t ret = ScreenClient::GetInstance().MoveWindow(windowId, 0, 0);
190 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_MOVE_WINDOW_ERROR, ret);
191 ret = ScreenClient::GetInstance().RemoveWindow(windowId);
192 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_REMOVE_WINDOW_ERROR, ret);
193 }
194
195 /**
196 * @tc.name: RemoveWindow_001
197 * @tc.desc: Verify the RemoveWindow function.
198 * @tc.type: FUNC
199 * @tc.require: Issue Number
200 */
HWTEST_F(ScreenClientTest, RemoveWindow_001, TestSize.Level1)201 HWTEST_F(ScreenClientTest, RemoveWindow_001, TestSize.Level1)
202 {
203 int32_t ret = ScreenClient::GetInstance().RemoveWindow(0);
204 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_REMOVE_WINDOW_ERROR, ret);
205 }
206
207 /**
208 * @tc.name: RemoveWindow_002
209 * @tc.desc: Verify the RemoveWindow function.
210 * @tc.type: FUNC
211 * @tc.require: Issue Number
212 */
HWTEST_F(ScreenClientTest, RemoveWindow_002, TestSize.Level1)213 HWTEST_F(ScreenClientTest, RemoveWindow_002, TestSize.Level1)
214 {
215 int32_t windowId = ScreenClient::GetInstance().AddWindow(windowProperty_);
216 int32_t ret = ScreenClient::GetInstance().RemoveWindow(windowId);
217 EXPECT_EQ(DH_SUCCESS, ret);
218 }
219
220 /**
221 * @tc.name: RemoveWindow_002
222 * @tc.desc: Verify the RemoveWindow function.
223 * @tc.type: FUNC
224 * @tc.require: Issue Number
225 */
HWTEST_F(ScreenClientTest, RemoveWindow_003, TestSize.Level1)226 HWTEST_F(ScreenClientTest, RemoveWindow_003, TestSize.Level1)
227 {
228 int32_t windowId = 0;
229 ScreenClient::GetInstance().surfaceMap_.emplace(windowId, nullptr);
230 int32_t ret = ScreenClient::GetInstance().RemoveWindow(windowId);
231 EXPECT_EQ(ERR_DH_SCREEN_SCREENCLIENT_REMOVE_WINDOW_ERROR, ret);
232 }
233
234 /**
235 * @tc.name: GetSurface_001
236 * @tc.desc: Verify the GetSurface function.
237 * @tc.type: FUNC
238 * @tc.require: Issue Number
239 */
HWTEST_F(ScreenClientTest, GetSurface_001, TestSize.Level1)240 HWTEST_F(ScreenClientTest, GetSurface_001, TestSize.Level1)
241 {
242 EXPECT_EQ(nullptr, ScreenClient::GetInstance().GetSurface(0));
243 }
244
245 /**
246 * @tc.name: GetSurface_002
247 * @tc.desc: Verify the GetSurface function.
248 * @tc.type: FUNC
249 * @tc.require: Issue Number
250 */
HWTEST_F(ScreenClientTest, GetSurface_002, TestSize.Level1)251 HWTEST_F(ScreenClientTest, GetSurface_002, TestSize.Level1)
252 {
253 int32_t windowId = ScreenClient::GetInstance().AddWindow(windowProperty_);
254 sptr<Surface> actualSurface = ScreenClient::GetInstance().GetSurface(windowId);
255 EXPECT_NE(nullptr, actualSurface);
256 int32_t ret = ScreenClient::GetInstance().RemoveWindow(windowId);
257 EXPECT_EQ(DH_SUCCESS, ret);
258 }
259
260 /**
261 * @tc.name: DestroyAllWindow_001
262 * @tc.desc: Verify the DestroyAllWindow function.
263 * @tc.type: FUNC
264 * @tc.require: Issue Number
265 */
HWTEST_F(ScreenClientTest, DestroyAllWindow_001, TestSize.Level1)266 HWTEST_F(ScreenClientTest, DestroyAllWindow_001, TestSize.Level1)
267 {
268 ScreenClient::GetInstance().AddWindow(windowProperty_);
269 int32_t ret = ScreenClient::GetInstance().DestroyAllWindow();
270 EXPECT_EQ(DH_SUCCESS, ret);
271 }
272
273 } // DistributedHardware
274 } // OHOS