1e0dac50fSopenharmony_ci/*
2e0dac50fSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License.
5e0dac50fSopenharmony_ci * You may obtain a copy of the License at
6e0dac50fSopenharmony_ci *
7e0dac50fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e0dac50fSopenharmony_ci *
9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and
13e0dac50fSopenharmony_ci * limitations under the License.
14e0dac50fSopenharmony_ci */
15e0dac50fSopenharmony_ci
16e0dac50fSopenharmony_ci#include <gtest/gtest.h>
17e0dac50fSopenharmony_ci#include "display_dumper.h"
18e0dac50fSopenharmony_ci#include "display_manager_service.h"
19e0dac50fSopenharmony_ci#include "scene_board_judgement.h"
20e0dac50fSopenharmony_ci
21e0dac50fSopenharmony_ciusing namespace testing;
22e0dac50fSopenharmony_ciusing namespace testing::ext;
23e0dac50fSopenharmony_ci
24e0dac50fSopenharmony_cinamespace OHOS {
25e0dac50fSopenharmony_cinamespace Rosen {
26e0dac50fSopenharmony_ciclass DisplayDumperTest : public testing::Test {
27e0dac50fSopenharmony_cipublic:
28e0dac50fSopenharmony_ci    static void SetUpTestCase();
29e0dac50fSopenharmony_ci    static void TearDownTestCase();
30e0dac50fSopenharmony_ci    void SetUp() override;
31e0dac50fSopenharmony_ci    void TearDown() override;
32e0dac50fSopenharmony_ci};
33e0dac50fSopenharmony_ci
34e0dac50fSopenharmony_civoid DisplayDumperTest::SetUpTestCase()
35e0dac50fSopenharmony_ci{
36e0dac50fSopenharmony_ci}
37e0dac50fSopenharmony_ci
38e0dac50fSopenharmony_civoid DisplayDumperTest::TearDownTestCase()
39e0dac50fSopenharmony_ci{
40e0dac50fSopenharmony_ci}
41e0dac50fSopenharmony_ci
42e0dac50fSopenharmony_civoid DisplayDumperTest::SetUp()
43e0dac50fSopenharmony_ci{
44e0dac50fSopenharmony_ci}
45e0dac50fSopenharmony_ci
46e0dac50fSopenharmony_civoid DisplayDumperTest::TearDown()
47e0dac50fSopenharmony_ci{
48e0dac50fSopenharmony_ci}
49e0dac50fSopenharmony_ci
50e0dac50fSopenharmony_cinamespace {
51e0dac50fSopenharmony_ci/**
52e0dac50fSopenharmony_ci * @tc.name: Dump01
53e0dac50fSopenharmony_ci * @tc.desc: Dump
54e0dac50fSopenharmony_ci * @tc.type: FUNC
55e0dac50fSopenharmony_ci */
56e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump01, Function | SmallTest | Level1)
57e0dac50fSopenharmony_ci{
58e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
59e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
60e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
61e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
62e0dac50fSopenharmony_ci    int fd = 1;
63e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
64e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
65e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_OK);
66e0dac50fSopenharmony_ci}
67e0dac50fSopenharmony_ci
68e0dac50fSopenharmony_ci/**
69e0dac50fSopenharmony_ci * @tc.name: Dump02
70e0dac50fSopenharmony_ci * @tc.desc: Dump fd less 0
71e0dac50fSopenharmony_ci * @tc.type: FUNC
72e0dac50fSopenharmony_ci */
73e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump02, Function | SmallTest | Level1)
74e0dac50fSopenharmony_ci{
75e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
76e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
77e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
78e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
79e0dac50fSopenharmony_ci    int fd = -1;
80e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
81e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
82e0dac50fSopenharmony_ci    ASSERT_EQ(ret, DMError::DM_ERROR_INVALID_PARAM);
83e0dac50fSopenharmony_ci}
84e0dac50fSopenharmony_ci
85e0dac50fSopenharmony_ci/**
86e0dac50fSopenharmony_ci * @tc.name: Dump03
87e0dac50fSopenharmony_ci * @tc.desc: Dump one param with '-h'
88e0dac50fSopenharmony_ci * @tc.type: FUNC
89e0dac50fSopenharmony_ci */
90e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump03, Function | SmallTest | Level1)
91e0dac50fSopenharmony_ci{
92e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
93e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
94e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
95e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
96e0dac50fSopenharmony_ci    int fd = 3;
97e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
98e0dac50fSopenharmony_ci    const std::u16string DUMP_HELP = u"-h";
99e0dac50fSopenharmony_ci    args.emplace_back(DUMP_HELP);
100e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
101e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
102e0dac50fSopenharmony_ci}
103e0dac50fSopenharmony_ci
104e0dac50fSopenharmony_ci/**
105e0dac50fSopenharmony_ci * @tc.name: Dump04
106e0dac50fSopenharmony_ci * @tc.desc: Dump one param with '-x'
107e0dac50fSopenharmony_ci * @tc.type: FUNC
108e0dac50fSopenharmony_ci */
109e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump04, Function | SmallTest | Level1)
110e0dac50fSopenharmony_ci{
111e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
112e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
113e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
114e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
115e0dac50fSopenharmony_ci    int fd = 4;
116e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
117e0dac50fSopenharmony_ci    const std::u16string DUMP_HELP = u"-x";
118e0dac50fSopenharmony_ci    args.emplace_back(DUMP_HELP);
119e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
120e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
121e0dac50fSopenharmony_ci}
122e0dac50fSopenharmony_ci
123e0dac50fSopenharmony_ci/**
124e0dac50fSopenharmony_ci * @tc.name: Dump05
125e0dac50fSopenharmony_ci * @tc.desc: Dump two param with '-s -a'
126e0dac50fSopenharmony_ci * @tc.type: FUNC
127e0dac50fSopenharmony_ci */
128e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump05, Function | SmallTest | Level1)
129e0dac50fSopenharmony_ci{
130e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
131e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
132e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
133e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
134e0dac50fSopenharmony_ci    int fd = 5;
135e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
136e0dac50fSopenharmony_ci    const std::u16string DUMP_SCREEN = u"-s";
137e0dac50fSopenharmony_ci    const std::u16string DUMP_ALL = u"-a";
138e0dac50fSopenharmony_ci    args.emplace_back(DUMP_SCREEN);
139e0dac50fSopenharmony_ci    args.emplace_back(DUMP_ALL);
140e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
141e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
142e0dac50fSopenharmony_ci}
143e0dac50fSopenharmony_ci
144e0dac50fSopenharmony_ci/**
145e0dac50fSopenharmony_ci * @tc.name: Dump06
146e0dac50fSopenharmony_ci * @tc.desc: Dump two param with '-d -a'
147e0dac50fSopenharmony_ci * @tc.type: FUNC
148e0dac50fSopenharmony_ci */
149e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump06, Function | SmallTest | Level1)
150e0dac50fSopenharmony_ci{
151e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
152e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
153e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
154e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
155e0dac50fSopenharmony_ci    int fd = 6;
156e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
157e0dac50fSopenharmony_ci    const std::u16string DUMP_DISPLAY = u"-d";
158e0dac50fSopenharmony_ci    const std::u16string DUMP_ALL = u"-a";
159e0dac50fSopenharmony_ci    args.emplace_back(DUMP_DISPLAY);
160e0dac50fSopenharmony_ci    args.emplace_back(DUMP_ALL);
161e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
162e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
163e0dac50fSopenharmony_ci}
164e0dac50fSopenharmony_ci
165e0dac50fSopenharmony_ci/**
166e0dac50fSopenharmony_ci * @tc.name: Dump07
167e0dac50fSopenharmony_ci * @tc.desc: Dump two param with '-s 1'
168e0dac50fSopenharmony_ci * @tc.type: FUNC
169e0dac50fSopenharmony_ci */
170e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump071, Function | SmallTest | Level1)
171e0dac50fSopenharmony_ci{
172e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
173e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
174e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
175e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
176e0dac50fSopenharmony_ci    int fd = 71;
177e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
178e0dac50fSopenharmony_ci    const std::u16string DUMP_SCREEN = u"-s";
179e0dac50fSopenharmony_ci    const std::u16string DUMP_NUMBER = u"0";
180e0dac50fSopenharmony_ci    args.emplace_back(DUMP_SCREEN);
181e0dac50fSopenharmony_ci    args.emplace_back(DUMP_NUMBER);
182e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
183e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
184e0dac50fSopenharmony_ci}
185e0dac50fSopenharmony_ci
186e0dac50fSopenharmony_ci/**
187e0dac50fSopenharmony_ci * @tc.name: Dump07
188e0dac50fSopenharmony_ci * @tc.desc: Dump two param with '-s -1'
189e0dac50fSopenharmony_ci * @tc.type: FUNC
190e0dac50fSopenharmony_ci */
191e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump07, Function | SmallTest | Level1)
192e0dac50fSopenharmony_ci{
193e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
194e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
195e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
196e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
197e0dac50fSopenharmony_ci    int fd = 7;
198e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
199e0dac50fSopenharmony_ci    const std::u16string DUMP_SCREEN = u"-s";
200e0dac50fSopenharmony_ci    const std::u16string DUMP_NUMBER = u"-1";
201e0dac50fSopenharmony_ci    args.emplace_back(DUMP_SCREEN);
202e0dac50fSopenharmony_ci    args.emplace_back(DUMP_NUMBER);
203e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
204e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
205e0dac50fSopenharmony_ci}
206e0dac50fSopenharmony_ci
207e0dac50fSopenharmony_ci/**
208e0dac50fSopenharmony_ci * @tc.name: Dump08
209e0dac50fSopenharmony_ci * @tc.desc: Dump two param with '-d 1'
210e0dac50fSopenharmony_ci * @tc.type: FUNC
211e0dac50fSopenharmony_ci */
212e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump08, Function | SmallTest | Level1)
213e0dac50fSopenharmony_ci{
214e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
215e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
216e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
217e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
218e0dac50fSopenharmony_ci    int fd = 8;
219e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
220e0dac50fSopenharmony_ci    const std::u16string DUMP_DISPLAY = u"-d";
221e0dac50fSopenharmony_ci    const std::u16string DUMP_NUMBER = u"1";
222e0dac50fSopenharmony_ci    args.emplace_back(DUMP_DISPLAY);
223e0dac50fSopenharmony_ci    args.emplace_back(DUMP_NUMBER);
224e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
225e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
226e0dac50fSopenharmony_ci}
227e0dac50fSopenharmony_ci
228e0dac50fSopenharmony_ci/**
229e0dac50fSopenharmony_ci * @tc.name: Dump09
230e0dac50fSopenharmony_ci * @tc.desc: Dump two param with '-d -1'
231e0dac50fSopenharmony_ci * @tc.type: FUNC
232e0dac50fSopenharmony_ci */
233e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump09, Function | SmallTest | Level1)
234e0dac50fSopenharmony_ci{
235e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
236e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
237e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
238e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
239e0dac50fSopenharmony_ci    int fd = 9;
240e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
241e0dac50fSopenharmony_ci    const std::u16string DUMP_DISPLAY = u"-d";
242e0dac50fSopenharmony_ci    const std::u16string DUMP_NUMBER = u"-1";
243e0dac50fSopenharmony_ci    args.emplace_back(DUMP_DISPLAY);
244e0dac50fSopenharmony_ci    args.emplace_back(DUMP_NUMBER);
245e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
246e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
247e0dac50fSopenharmony_ci}
248e0dac50fSopenharmony_ci
249e0dac50fSopenharmony_ci/**
250e0dac50fSopenharmony_ci * @tc.name: Dump10
251e0dac50fSopenharmony_ci * @tc.desc: Dump three param with '-d -a 1'
252e0dac50fSopenharmony_ci * @tc.type: FUNC
253e0dac50fSopenharmony_ci */
254e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, Dump10, Function | SmallTest | Level1)
255e0dac50fSopenharmony_ci{
256e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
257e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
258e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
259e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
260e0dac50fSopenharmony_ci    int fd = 10;
261e0dac50fSopenharmony_ci    std::vector<std::u16string> args;
262e0dac50fSopenharmony_ci    const std::u16string DUMP_DISPLAY = u"-d";
263e0dac50fSopenharmony_ci    const std::u16string DUMP_ALL = u"-a";
264e0dac50fSopenharmony_ci    const std::u16string DUMP_NUMBER = u"1";
265e0dac50fSopenharmony_ci    args.emplace_back(DUMP_DISPLAY);
266e0dac50fSopenharmony_ci    args.emplace_back(DUMP_ALL);
267e0dac50fSopenharmony_ci    args.emplace_back(DUMP_NUMBER);
268e0dac50fSopenharmony_ci    DMError ret = displayDumper->Dump(fd, args);
269e0dac50fSopenharmony_ci    ASSERT_TRUE(ret == DMError::DM_OK || ret == DMError::DM_ERROR_UNKNOWN);
270e0dac50fSopenharmony_ci}
271e0dac50fSopenharmony_ci
272e0dac50fSopenharmony_ci/**
273e0dac50fSopenharmony_ci * @tc.name: IsValidDigitString01
274e0dac50fSopenharmony_ci * @tc.desc: IsValidDigitString "06w"
275e0dac50fSopenharmony_ci * @tc.type: FUNC
276e0dac50fSopenharmony_ci */
277e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, IsValidDigitString01, Function | SmallTest | Level1)
278e0dac50fSopenharmony_ci{
279e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
280e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
281e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
282e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
283e0dac50fSopenharmony_ci    std::string idStr = "06w";
284e0dac50fSopenharmony_ci    bool ret = displayDumper->IsValidDigitString(idStr);
285e0dac50fSopenharmony_ci    ASSERT_EQ(ret, false);
286e0dac50fSopenharmony_ci}
287e0dac50fSopenharmony_ci
288e0dac50fSopenharmony_ci/**
289e0dac50fSopenharmony_ci * @tc.name: IsValidDigitString02
290e0dac50fSopenharmony_ci * @tc.desc: IsValidDigitString "96+"
291e0dac50fSopenharmony_ci * @tc.type: FUNC
292e0dac50fSopenharmony_ci */
293e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, IsValidDigitString02, Function | SmallTest | Level1)
294e0dac50fSopenharmony_ci{
295e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
296e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
297e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
298e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
299e0dac50fSopenharmony_ci    std::string idStr = "96+";
300e0dac50fSopenharmony_ci    bool ret = displayDumper->IsValidDigitString(idStr);
301e0dac50fSopenharmony_ci    ASSERT_EQ(ret, false);
302e0dac50fSopenharmony_ci}
303e0dac50fSopenharmony_ci
304e0dac50fSopenharmony_ci/**
305e0dac50fSopenharmony_ci * @tc.name: IsValidDigitString03
306e0dac50fSopenharmony_ci * @tc.desc: IsValidDigitString empty
307e0dac50fSopenharmony_ci * @tc.type: FUNC
308e0dac50fSopenharmony_ci */
309e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, IsValidDigitString03, Function | SmallTest | Level1)
310e0dac50fSopenharmony_ci{
311e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
312e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
313e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
314e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
315e0dac50fSopenharmony_ci    std::string idStr;
316e0dac50fSopenharmony_ci    bool ret = displayDumper->IsValidDigitString(idStr);
317e0dac50fSopenharmony_ci    ASSERT_EQ(ret, false);
318e0dac50fSopenharmony_ci}
319e0dac50fSopenharmony_ci
320e0dac50fSopenharmony_ci/**
321e0dac50fSopenharmony_ci * @tc.name: DumpAllScreenInfo01
322e0dac50fSopenharmony_ci * @tc.desc: DumpAllScreenInfo
323e0dac50fSopenharmony_ci * @tc.type: FUNC
324e0dac50fSopenharmony_ci */
325e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, DumpAllScreenInfo01, Function | SmallTest | Level1)
326e0dac50fSopenharmony_ci{
327e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
328e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
329e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
330e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
331e0dac50fSopenharmony_ci    std::string dumpInfo;
332e0dac50fSopenharmony_ci    displayDumper->DumpAllScreenInfo(dumpInfo);
333e0dac50fSopenharmony_ci    ASSERT_NE(dumpInfo.size(), 0);
334e0dac50fSopenharmony_ci}
335e0dac50fSopenharmony_ci
336e0dac50fSopenharmony_ci/**
337e0dac50fSopenharmony_ci * @tc.name: DumpScreenInfo01
338e0dac50fSopenharmony_ci * @tc.desc: DumpScreenInfo
339e0dac50fSopenharmony_ci * @tc.type: FUNC
340e0dac50fSopenharmony_ci */
341e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, DumpScreenInfo01, Function | SmallTest | Level1)
342e0dac50fSopenharmony_ci{
343e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
344e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
345e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
346e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
347e0dac50fSopenharmony_ci    sptr<AbstractScreenGroup> screenGroup = nullptr;
348e0dac50fSopenharmony_ci    std::string dumpInfo;
349e0dac50fSopenharmony_ci    DMError result = displayDumper->DumpScreenInfo(screenGroup, dumpInfo);
350e0dac50fSopenharmony_ci    EXPECT_EQ(result, DMError::DM_ERROR_NULLPTR);
351e0dac50fSopenharmony_ci}
352e0dac50fSopenharmony_ci
353e0dac50fSopenharmony_ci/**
354e0dac50fSopenharmony_ci * @tc.name: DumpScreenInfo02
355e0dac50fSopenharmony_ci * @tc.desc: DumpScreenInfo
356e0dac50fSopenharmony_ci * @tc.type: FUNC
357e0dac50fSopenharmony_ci */
358e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, DumpScreenInfo02, Function | SmallTest | Level1)
359e0dac50fSopenharmony_ci{
360e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
361e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
362e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
363e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
364e0dac50fSopenharmony_ci    std::string name = "testDisplay";
365e0dac50fSopenharmony_ci    sptr<SupportedScreenModes> info = new SupportedScreenModes();
366e0dac50fSopenharmony_ci    info->width_ = 100;
367e0dac50fSopenharmony_ci    info->height_ = 200;
368e0dac50fSopenharmony_ci    sptr<AbstractScreen> absScreen = new AbstractScreen(DisplayManagerService::GetInstance().abstractScreenController_,
369e0dac50fSopenharmony_ci        name, 0, 0);
370e0dac50fSopenharmony_ci    absScreen->activeIdx_ = 0;
371e0dac50fSopenharmony_ci    absScreen->modes_.clear();
372e0dac50fSopenharmony_ci    absScreen->modes_ = { { info } };
373e0dac50fSopenharmony_ci    absScreen->groupDmsId_ = SCREEN_ID_INVALID;
374e0dac50fSopenharmony_ci    sptr<AbstractScreenGroup> screenGroup = new AbstractScreenGroup(
375e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_, 0, 0, name, ScreenCombination::SCREEN_ALONE);
376e0dac50fSopenharmony_ci    std::string dumpInfo;
377e0dac50fSopenharmony_ci    DMError result = displayDumper->DumpScreenInfo(screenGroup, dumpInfo);
378e0dac50fSopenharmony_ci    EXPECT_EQ(result, DMError::DM_OK);
379e0dac50fSopenharmony_ci}
380e0dac50fSopenharmony_ci
381e0dac50fSopenharmony_ci/**
382e0dac50fSopenharmony_ci * @tc.name: TransferTypeToString
383e0dac50fSopenharmony_ci * @tc.desc: TransferTypeToString
384e0dac50fSopenharmony_ci * @tc.type: FUNC
385e0dac50fSopenharmony_ci */
386e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, TransferTypeToString, Function | SmallTest | Level1)
387e0dac50fSopenharmony_ci{
388e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
389e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
390e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
391e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
392e0dac50fSopenharmony_ci    ScreenType type = ScreenType::REAL;
393e0dac50fSopenharmony_ci    EXPECT_STREQ(displayDumper->TransferTypeToString(type).c_str(), "REAL");
394e0dac50fSopenharmony_ci
395e0dac50fSopenharmony_ci    type = ScreenType::VIRTUAL;
396e0dac50fSopenharmony_ci    EXPECT_STREQ(displayDumper->TransferTypeToString(type).c_str(), "VIRTUAL");
397e0dac50fSopenharmony_ci
398e0dac50fSopenharmony_ci    type = ScreenType::UNDEFINED;
399e0dac50fSopenharmony_ci    EXPECT_STREQ(displayDumper->TransferTypeToString(type).c_str(), "UNDEFINED");
400e0dac50fSopenharmony_ci}
401e0dac50fSopenharmony_ci
402e0dac50fSopenharmony_ci/**
403e0dac50fSopenharmony_ci * @tc.name: GetScreenInfo01
404e0dac50fSopenharmony_ci * @tc.desc: GetScreenInfo
405e0dac50fSopenharmony_ci * @tc.type: FUNC
406e0dac50fSopenharmony_ci */
407e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, GetScreenInfo01, Function | SmallTest | Level1)
408e0dac50fSopenharmony_ci{
409e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
410e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
411e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
412e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
413e0dac50fSopenharmony_ci    std::ostringstream oss;
414e0dac50fSopenharmony_ci    displayDumper->GetScreenInfo(nullptr, oss);
415e0dac50fSopenharmony_ci    std::string result = oss.str();
416e0dac50fSopenharmony_ci    ASSERT_EQ(result.size(), 0);
417e0dac50fSopenharmony_ci}
418e0dac50fSopenharmony_ci
419e0dac50fSopenharmony_ci/**
420e0dac50fSopenharmony_ci * @tc.name: GetScreenInfo02
421e0dac50fSopenharmony_ci * @tc.desc: GetScreenInfo
422e0dac50fSopenharmony_ci * @tc.type: FUNC
423e0dac50fSopenharmony_ci */
424e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, GetScreenInfo02, Function | SmallTest | Level1)
425e0dac50fSopenharmony_ci{
426e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
427e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
428e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
429e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
430e0dac50fSopenharmony_ci    std::ostringstream oss;
431e0dac50fSopenharmony_ci    std::string name = "testDisplay";
432e0dac50fSopenharmony_ci    sptr<SupportedScreenModes> info = new SupportedScreenModes();
433e0dac50fSopenharmony_ci    info->width_ = 100;
434e0dac50fSopenharmony_ci    info->height_ = 200;
435e0dac50fSopenharmony_ci    sptr<AbstractScreen> absScreen = new AbstractScreen(DisplayManagerService::GetInstance().abstractScreenController_,
436e0dac50fSopenharmony_ci        name, 0, 0);
437e0dac50fSopenharmony_ci    absScreen->activeIdx_ = 0;
438e0dac50fSopenharmony_ci    absScreen->modes_.clear();
439e0dac50fSopenharmony_ci    absScreen->modes_ = { { info } };
440e0dac50fSopenharmony_ci    displayDumper->GetScreenInfo(absScreen, oss);
441e0dac50fSopenharmony_ci    std::string result = oss.str();
442e0dac50fSopenharmony_ci    ASSERT_EQ(result.size(), 165);
443e0dac50fSopenharmony_ci}
444e0dac50fSopenharmony_ci
445e0dac50fSopenharmony_ci/**
446e0dac50fSopenharmony_ci * @tc.name: GetDisplayInfo01
447e0dac50fSopenharmony_ci * @tc.desc: GetDisplayInfo
448e0dac50fSopenharmony_ci * @tc.type: FUNC
449e0dac50fSopenharmony_ci */
450e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, GetDisplayInfo01, Function | SmallTest | Level1)
451e0dac50fSopenharmony_ci{
452e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
453e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
454e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
455e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
456e0dac50fSopenharmony_ci    std::ostringstream oss;
457e0dac50fSopenharmony_ci    displayDumper->GetDisplayInfo(nullptr, oss);
458e0dac50fSopenharmony_ci    std::string result = oss.str();
459e0dac50fSopenharmony_ci    ASSERT_EQ(result.size(), 0);
460e0dac50fSopenharmony_ci}
461e0dac50fSopenharmony_ci
462e0dac50fSopenharmony_ci/**
463e0dac50fSopenharmony_ci * @tc.name: GetDisplayInfo02
464e0dac50fSopenharmony_ci * @tc.desc: GetDisplayInfo
465e0dac50fSopenharmony_ci * @tc.type: FUNC
466e0dac50fSopenharmony_ci */
467e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, GetDisplayInfo02, Function | SmallTest | Level1)
468e0dac50fSopenharmony_ci{
469e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
470e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
471e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
472e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
473e0dac50fSopenharmony_ci    std::ostringstream oss;
474e0dac50fSopenharmony_ci
475e0dac50fSopenharmony_ci    std::string name = "testDisplay";
476e0dac50fSopenharmony_ci    sptr<SupportedScreenModes> info = new SupportedScreenModes();
477e0dac50fSopenharmony_ci    info->width_ = 100;
478e0dac50fSopenharmony_ci    info->height_ = 200;
479e0dac50fSopenharmony_ci    sptr<AbstractScreen> absScreen = new AbstractScreen(DisplayManagerService::GetInstance().abstractScreenController_,
480e0dac50fSopenharmony_ci        name, 0, 0);
481e0dac50fSopenharmony_ci    absScreen->activeIdx_ = 0;
482e0dac50fSopenharmony_ci    absScreen->modes_.clear();
483e0dac50fSopenharmony_ci    absScreen->modes_ = { { info } };
484e0dac50fSopenharmony_ci    sptr<AbstractDisplay> absDisplay = new AbstractDisplay(0, info, absScreen);
485e0dac50fSopenharmony_ci    displayDumper->GetDisplayInfo(absDisplay, oss);
486e0dac50fSopenharmony_ci    std::string result = oss.str();
487e0dac50fSopenharmony_ci
488e0dac50fSopenharmony_ci    EXPECT_EQ(result.size(), 109);
489e0dac50fSopenharmony_ci}
490e0dac50fSopenharmony_ci
491e0dac50fSopenharmony_ci/**
492e0dac50fSopenharmony_ci * @tc.name: ShowIllegalArgsInfo
493e0dac50fSopenharmony_ci * @tc.desc: ShowIllegalArgsInfo
494e0dac50fSopenharmony_ci * @tc.type: FUNC
495e0dac50fSopenharmony_ci */
496e0dac50fSopenharmony_ciHWTEST_F(DisplayDumperTest, ShowIllegalArgsInfo, Function | SmallTest | Level1)
497e0dac50fSopenharmony_ci{
498e0dac50fSopenharmony_ci    sptr<DisplayDumper> displayDumper;
499e0dac50fSopenharmony_ci    displayDumper = new DisplayDumper(DisplayManagerService::GetInstance().abstractDisplayController_,
500e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().abstractScreenController_,
501e0dac50fSopenharmony_ci        DisplayManagerService::GetInstance().mutex_);
502e0dac50fSopenharmony_ci
503e0dac50fSopenharmony_ci    std::string dumpInfo = "DTtest";
504e0dac50fSopenharmony_ci    DMError errCode = DMError::DM_OK;
505e0dac50fSopenharmony_ci    displayDumper->ShowIllegalArgsInfo(dumpInfo, errCode);
506e0dac50fSopenharmony_ci
507e0dac50fSopenharmony_ci    EXPECT_NE(displayDumper, nullptr);
508e0dac50fSopenharmony_ci}
509e0dac50fSopenharmony_ci}
510e0dac50fSopenharmony_ci}
511e0dac50fSopenharmony_ci}