1e0dac50fSopenharmony_ci/*
2e0dac50fSopenharmony_ci * Copyright (c) 2021 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 "window_option.h"
18e0dac50fSopenharmony_ci
19e0dac50fSopenharmony_ciusing namespace testing;
20e0dac50fSopenharmony_ciusing namespace testing::ext;
21e0dac50fSopenharmony_ci
22e0dac50fSopenharmony_cinamespace OHOS {
23e0dac50fSopenharmony_cinamespace Rosen {
24e0dac50fSopenharmony_cinamespace {
25e0dac50fSopenharmony_ciconst SystemBarProperty SYS_BAR_PROP_DEFAULT;
26e0dac50fSopenharmony_ciconst SystemBarProperty SYS_BAR_PROP_1(true, 0xE5111111, 0xE5222222);
27e0dac50fSopenharmony_ciconst SystemBarProperty SYS_BAR_PROP_2(false, 0xE5222222, 0xE5333333);
28e0dac50fSopenharmony_ciconst std::unordered_map<WindowType, SystemBarProperty>& SYS_BAR_PROPS_TEST = {
29e0dac50fSopenharmony_ci    { WindowType::WINDOW_TYPE_STATUS_BAR, SYS_BAR_PROP_1 },
30e0dac50fSopenharmony_ci    { WindowType::WINDOW_TYPE_NAVIGATION_BAR, SYS_BAR_PROP_2 },
31e0dac50fSopenharmony_ci};
32e0dac50fSopenharmony_ciconst std::unordered_map<WindowType, SystemBarProperty>& SYS_BAR_PROPS_DEFAULT = {
33e0dac50fSopenharmony_ci    { WindowType::WINDOW_TYPE_STATUS_BAR,     SYS_BAR_PROP_DEFAULT },
34e0dac50fSopenharmony_ci    { WindowType::WINDOW_TYPE_NAVIGATION_BAR, SYS_BAR_PROP_DEFAULT },
35e0dac50fSopenharmony_ci};
36e0dac50fSopenharmony_ci}
37e0dac50fSopenharmony_ciclass WindowOptionTest : public testing::Test {
38e0dac50fSopenharmony_cipublic:
39e0dac50fSopenharmony_ci    static void SetUpTestCase();
40e0dac50fSopenharmony_ci    static void TearDownTestCase();
41e0dac50fSopenharmony_ci    virtual void SetUp() override;
42e0dac50fSopenharmony_ci    virtual void TearDown() override;
43e0dac50fSopenharmony_ci};
44e0dac50fSopenharmony_civoid WindowOptionTest::SetUpTestCase()
45e0dac50fSopenharmony_ci{
46e0dac50fSopenharmony_ci}
47e0dac50fSopenharmony_ci
48e0dac50fSopenharmony_civoid WindowOptionTest::TearDownTestCase()
49e0dac50fSopenharmony_ci{
50e0dac50fSopenharmony_ci}
51e0dac50fSopenharmony_ci
52e0dac50fSopenharmony_civoid WindowOptionTest::SetUp()
53e0dac50fSopenharmony_ci{
54e0dac50fSopenharmony_ci}
55e0dac50fSopenharmony_ci
56e0dac50fSopenharmony_civoid WindowOptionTest::TearDown()
57e0dac50fSopenharmony_ci{
58e0dac50fSopenharmony_ci}
59e0dac50fSopenharmony_ci
60e0dac50fSopenharmony_cinamespace {
61e0dac50fSopenharmony_ci/**
62e0dac50fSopenharmony_ci * @tc.name: WindowRect01
63e0dac50fSopenharmony_ci * @tc.desc: SetWindowRect/GetWindowRect
64e0dac50fSopenharmony_ci * @tc.type: FUNC
65e0dac50fSopenharmony_ci */
66e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowRect01, Function | SmallTest | Level2)
67e0dac50fSopenharmony_ci{
68e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
69e0dac50fSopenharmony_ci    struct Rect rect = {1, 2, 3u, 4u};
70e0dac50fSopenharmony_ci    option->SetWindowRect(rect);
71e0dac50fSopenharmony_ci
72e0dac50fSopenharmony_ci    ASSERT_EQ(1, option->GetWindowRect().posX_);
73e0dac50fSopenharmony_ci    ASSERT_EQ(2, option->GetWindowRect().posY_);
74e0dac50fSopenharmony_ci    ASSERT_EQ(3u, option->GetWindowRect().width_);
75e0dac50fSopenharmony_ci    ASSERT_EQ(4u, option->GetWindowRect().height_);
76e0dac50fSopenharmony_ci}
77e0dac50fSopenharmony_ci
78e0dac50fSopenharmony_ci/**
79e0dac50fSopenharmony_ci * @tc.name: WindowType01
80e0dac50fSopenharmony_ci * @tc.desc: SetWindowType/GetWindowType
81e0dac50fSopenharmony_ci * @tc.type: FUNC
82e0dac50fSopenharmony_ci */
83e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowType01, Function | SmallTest | Level2)
84e0dac50fSopenharmony_ci{
85e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
86e0dac50fSopenharmony_ci    option->SetWindowType(WindowType::WINDOW_TYPE_APP_MAIN_WINDOW);
87e0dac50fSopenharmony_ci    ASSERT_EQ(WindowType::WINDOW_TYPE_APP_MAIN_WINDOW, option->GetWindowType());
88e0dac50fSopenharmony_ci}
89e0dac50fSopenharmony_ci
90e0dac50fSopenharmony_ci/**
91e0dac50fSopenharmony_ci * @tc.name: WindowMode01
92e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode/GetWindowMode
93e0dac50fSopenharmony_ci * @tc.type: FUNC
94e0dac50fSopenharmony_ci */
95e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowMode01, Function | SmallTest | Level2)
96e0dac50fSopenharmony_ci{
97e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
98e0dac50fSopenharmony_ci    option->SetWindowMode(WindowMode::WINDOW_MODE_FULLSCREEN);
99e0dac50fSopenharmony_ci    ASSERT_EQ(WindowMode::WINDOW_MODE_FULLSCREEN, option->GetWindowMode());
100e0dac50fSopenharmony_ci}
101e0dac50fSopenharmony_ci
102e0dac50fSopenharmony_ci/**
103e0dac50fSopenharmony_ci * @tc.name: WindowMode02
104e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode/GetWindowMode
105e0dac50fSopenharmony_ci * @tc.type: FUNC
106e0dac50fSopenharmony_ci */
107e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowMode02, Function | SmallTest | Level2)
108e0dac50fSopenharmony_ci{
109e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
110e0dac50fSopenharmony_ci    WindowMode defaultMode = option->GetWindowMode();
111e0dac50fSopenharmony_ci    option->SetWindowMode(WindowMode::WINDOW_MODE_UNDEFINED);
112e0dac50fSopenharmony_ci    ASSERT_EQ(defaultMode, option->GetWindowMode());
113e0dac50fSopenharmony_ci}
114e0dac50fSopenharmony_ci
115e0dac50fSopenharmony_ci/**
116e0dac50fSopenharmony_ci * @tc.name: WindowMode03
117e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode/GetWindowMode
118e0dac50fSopenharmony_ci * @tc.type: FUNC
119e0dac50fSopenharmony_ci */
120e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowMode03, Function | SmallTest | Level2)
121e0dac50fSopenharmony_ci{
122e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
123e0dac50fSopenharmony_ci    option->SetWindowMode(WindowMode::WINDOW_MODE_SPLIT_PRIMARY);
124e0dac50fSopenharmony_ci    ASSERT_EQ(WindowMode::WINDOW_MODE_SPLIT_PRIMARY, option->GetWindowMode());
125e0dac50fSopenharmony_ci}
126e0dac50fSopenharmony_ci
127e0dac50fSopenharmony_ci/**
128e0dac50fSopenharmony_ci * @tc.name: WindowMode04
129e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode/GetWindowMode
130e0dac50fSopenharmony_ci * @tc.type: FUNC
131e0dac50fSopenharmony_ci */
132e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowMode04, Function | SmallTest | Level2)
133e0dac50fSopenharmony_ci{
134e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
135e0dac50fSopenharmony_ci    option->SetWindowMode(WindowMode::WINDOW_MODE_SPLIT_SECONDARY);
136e0dac50fSopenharmony_ci    ASSERT_EQ(WindowMode::WINDOW_MODE_SPLIT_SECONDARY, option->GetWindowMode());
137e0dac50fSopenharmony_ci}
138e0dac50fSopenharmony_ci
139e0dac50fSopenharmony_ci/**
140e0dac50fSopenharmony_ci * @tc.name: WindowMode05
141e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode/GetWindowMode
142e0dac50fSopenharmony_ci * @tc.type: FUNC
143e0dac50fSopenharmony_ci */
144e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowMode05, Function | SmallTest | Level2)
145e0dac50fSopenharmony_ci{
146e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
147e0dac50fSopenharmony_ci    option->SetWindowMode(WindowMode::WINDOW_MODE_FLOATING);
148e0dac50fSopenharmony_ci    ASSERT_EQ(WindowMode::WINDOW_MODE_FLOATING, option->GetWindowMode());
149e0dac50fSopenharmony_ci}
150e0dac50fSopenharmony_ci
151e0dac50fSopenharmony_ci/**
152e0dac50fSopenharmony_ci * @tc.name: WindowMode06
153e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode/GetWindowMode
154e0dac50fSopenharmony_ci * @tc.type: FUNC
155e0dac50fSopenharmony_ci */
156e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowMode06, Function | SmallTest | Level2)
157e0dac50fSopenharmony_ci{
158e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
159e0dac50fSopenharmony_ci    option->SetWindowMode(WindowMode::WINDOW_MODE_PIP);
160e0dac50fSopenharmony_ci    ASSERT_EQ(WindowMode::WINDOW_MODE_PIP, option->GetWindowMode());
161e0dac50fSopenharmony_ci}
162e0dac50fSopenharmony_ci/**
163e0dac50fSopenharmony_ci * @tc.name: Focusable01
164e0dac50fSopenharmony_ci * @tc.desc: SetFocusable/GetFocusable
165e0dac50fSopenharmony_ci * @tc.type: FUNC
166e0dac50fSopenharmony_ci */
167e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, Focusable01, Function | SmallTest | Level2)
168e0dac50fSopenharmony_ci{
169e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
170e0dac50fSopenharmony_ci    option->SetFocusable(true);
171e0dac50fSopenharmony_ci    ASSERT_EQ(true, option->GetFocusable());
172e0dac50fSopenharmony_ci}
173e0dac50fSopenharmony_ci
174e0dac50fSopenharmony_ci/**
175e0dac50fSopenharmony_ci * @tc.name: Touchable01
176e0dac50fSopenharmony_ci * @tc.desc: SetTouchable/GetTouchable
177e0dac50fSopenharmony_ci * @tc.type: FUNC
178e0dac50fSopenharmony_ci */
179e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, Touchable01, Function | SmallTest | Level2)
180e0dac50fSopenharmony_ci{
181e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
182e0dac50fSopenharmony_ci    option->SetTouchable(true);
183e0dac50fSopenharmony_ci    ASSERT_EQ(true, option->GetTouchable());
184e0dac50fSopenharmony_ci}
185e0dac50fSopenharmony_ci
186e0dac50fSopenharmony_ci/**
187e0dac50fSopenharmony_ci * @tc.name: DisplayId01
188e0dac50fSopenharmony_ci * @tc.desc: SetDisplayId/GetDisplayId
189e0dac50fSopenharmony_ci * @tc.type: FUNC
190e0dac50fSopenharmony_ci */
191e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, DisplayId01, Function | SmallTest | Level2)
192e0dac50fSopenharmony_ci{
193e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
194e0dac50fSopenharmony_ci    option->SetDisplayId(1);
195e0dac50fSopenharmony_ci    ASSERT_EQ(1, option->GetDisplayId());
196e0dac50fSopenharmony_ci}
197e0dac50fSopenharmony_ci
198e0dac50fSopenharmony_ci/**
199e0dac50fSopenharmony_ci * @tc.name: ParentId01
200e0dac50fSopenharmony_ci * @tc.desc: SetParentId/GetParentId
201e0dac50fSopenharmony_ci * @tc.type: FUNC
202e0dac50fSopenharmony_ci */
203e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, ParentId01, Function | SmallTest | Level2)
204e0dac50fSopenharmony_ci{
205e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
206e0dac50fSopenharmony_ci    option->SetParentId(1);
207e0dac50fSopenharmony_ci    ASSERT_EQ(1, option->GetParentId());
208e0dac50fSopenharmony_ci}
209e0dac50fSopenharmony_ci
210e0dac50fSopenharmony_ci/**
211e0dac50fSopenharmony_ci * @tc.name: WindowName01
212e0dac50fSopenharmony_ci * @tc.desc: SetWindowName/GetWindowName
213e0dac50fSopenharmony_ci * @tc.type: FUNC
214e0dac50fSopenharmony_ci */
215e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowName01, Function | SmallTest | Level2)
216e0dac50fSopenharmony_ci{
217e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
218e0dac50fSopenharmony_ci    option->SetWindowName("Sub Window");
219e0dac50fSopenharmony_ci    ASSERT_EQ("Sub Window", option->GetWindowName());
220e0dac50fSopenharmony_ci}
221e0dac50fSopenharmony_ci
222e0dac50fSopenharmony_ci/**
223e0dac50fSopenharmony_ci * @tc.name: BundleName01
224e0dac50fSopenharmony_ci * @tc.desc: SetBundleName/GetBundleName
225e0dac50fSopenharmony_ci * @tc.type: FUNC
226e0dac50fSopenharmony_ci */
227e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, BundleName01, Function | SmallTest | Level2)
228e0dac50fSopenharmony_ci{
229e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
230e0dac50fSopenharmony_ci    option->SetBundleName("settings");
231e0dac50fSopenharmony_ci    ASSERT_EQ("settings", option->GetBundleName());
232e0dac50fSopenharmony_ci}
233e0dac50fSopenharmony_ci
234e0dac50fSopenharmony_ci/**
235e0dac50fSopenharmony_ci * @tc.name: WindowFlag01
236e0dac50fSopenharmony_ci * @tc.desc: SetWindowFlags/GetWindowFlags
237e0dac50fSopenharmony_ci * @tc.type: FUNC
238e0dac50fSopenharmony_ci */
239e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowFlag01, Function | SmallTest | Level2)
240e0dac50fSopenharmony_ci{
241e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
242e0dac50fSopenharmony_ci    option->SetWindowFlags(1u);
243e0dac50fSopenharmony_ci    ASSERT_EQ(1u, option->GetWindowFlags());
244e0dac50fSopenharmony_ci}
245e0dac50fSopenharmony_ci
246e0dac50fSopenharmony_ci/**
247e0dac50fSopenharmony_ci * @tc.name: WindowFlag02
248e0dac50fSopenharmony_ci * @tc.desc: AddWindowFlag/GetWindowFlags
249e0dac50fSopenharmony_ci * @tc.type: FUNC
250e0dac50fSopenharmony_ci */
251e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowFlag02, Function | SmallTest | Level2)
252e0dac50fSopenharmony_ci{
253e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
254e0dac50fSopenharmony_ci    option->AddWindowFlag(WindowFlag::WINDOW_FLAG_NEED_AVOID);
255e0dac50fSopenharmony_ci    ASSERT_EQ(static_cast<uint32_t>(WindowFlag::WINDOW_FLAG_NEED_AVOID), option->GetWindowFlags());
256e0dac50fSopenharmony_ci}
257e0dac50fSopenharmony_ci
258e0dac50fSopenharmony_ci/**
259e0dac50fSopenharmony_ci * @tc.name: WindowFlag03
260e0dac50fSopenharmony_ci * @tc.desc: AddWindowFlag/RemoveWindowFlag/GetWindowFlags
261e0dac50fSopenharmony_ci * @tc.type: FUNC
262e0dac50fSopenharmony_ci */
263e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, WindowFlag03, Function | SmallTest | Level2)
264e0dac50fSopenharmony_ci{
265e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
266e0dac50fSopenharmony_ci    option->AddWindowFlag(WindowFlag::WINDOW_FLAG_NEED_AVOID);
267e0dac50fSopenharmony_ci    option->AddWindowFlag(WindowFlag::WINDOW_FLAG_PARENT_LIMIT);
268e0dac50fSopenharmony_ci    option->RemoveWindowFlag(WindowFlag::WINDOW_FLAG_NEED_AVOID);
269e0dac50fSopenharmony_ci    ASSERT_EQ(static_cast<uint32_t>(WindowFlag::WINDOW_FLAG_PARENT_LIMIT), option->GetWindowFlags());
270e0dac50fSopenharmony_ci}
271e0dac50fSopenharmony_ci
272e0dac50fSopenharmony_ci/**
273e0dac50fSopenharmony_ci * @tc.name: SetGetSystemBarProperty01
274e0dac50fSopenharmony_ci * @tc.desc: SetSystemBarProperty with test param and get
275e0dac50fSopenharmony_ci * @tc.type: FUNC
276e0dac50fSopenharmony_ci */
277e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetGetSystemBarProperty01, Function | SmallTest | Level3)
278e0dac50fSopenharmony_ci{
279e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
280e0dac50fSopenharmony_ci    option->SetSystemBarProperty(WindowType::WINDOW_TYPE_STATUS_BAR, SYS_BAR_PROP_1);
281e0dac50fSopenharmony_ci    option->SetSystemBarProperty(WindowType::WINDOW_TYPE_NAVIGATION_BAR, SYS_BAR_PROP_2);
282e0dac50fSopenharmony_ci    ASSERT_EQ(SYS_BAR_PROPS_TEST, option->GetSystemBarProperty());
283e0dac50fSopenharmony_ci}
284e0dac50fSopenharmony_ci
285e0dac50fSopenharmony_ci/**
286e0dac50fSopenharmony_ci * @tc.name: SetGetSystemBarProperty02
287e0dac50fSopenharmony_ci * @tc.desc: SetSystemBarProperty with invalid type and get
288e0dac50fSopenharmony_ci * @tc.type: FUNC
289e0dac50fSopenharmony_ci */
290e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetGetSystemBarProperty02, Function | SmallTest | Level3)
291e0dac50fSopenharmony_ci{
292e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
293e0dac50fSopenharmony_ci    option->SetSystemBarProperty(WindowType::WINDOW_TYPE_APP_MAIN_WINDOW, SYS_BAR_PROP_1);
294e0dac50fSopenharmony_ci    option->SetSystemBarProperty(WindowType::WINDOW_TYPE_MEDIA, SYS_BAR_PROP_2);
295e0dac50fSopenharmony_ci    ASSERT_EQ(SYS_BAR_PROPS_DEFAULT, option->GetSystemBarProperty());
296e0dac50fSopenharmony_ci}
297e0dac50fSopenharmony_ci
298e0dac50fSopenharmony_ci/**
299e0dac50fSopenharmony_ci * @tc.name: SetGetSystemBarProperty03
300e0dac50fSopenharmony_ci * @tc.desc: GetSystemBarProperty with no set
301e0dac50fSopenharmony_ci * @tc.type: FUNC
302e0dac50fSopenharmony_ci */
303e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetGetSystemBarProperty03, Function | SmallTest | Level3)
304e0dac50fSopenharmony_ci{
305e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
306e0dac50fSopenharmony_ci    ASSERT_EQ(SYS_BAR_PROPS_DEFAULT, option->GetSystemBarProperty());
307e0dac50fSopenharmony_ci}
308e0dac50fSopenharmony_ci
309e0dac50fSopenharmony_ci/**
310e0dac50fSopenharmony_ci * @tc.name: HitOffset
311e0dac50fSopenharmony_ci * @tc.desc: HitOffset setter/getter test
312e0dac50fSopenharmony_ci * @tc.type: FUNC
313e0dac50fSopenharmony_ci */
314e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, HitOffset, Function | SmallTest | Level3)
315e0dac50fSopenharmony_ci{
316e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
317e0dac50fSopenharmony_ci    option->SetHitOffset(1, 1);
318e0dac50fSopenharmony_ci    PointInfo point = {1, 1};
319e0dac50fSopenharmony_ci    ASSERT_EQ(point.x, option->GetHitOffset().x);
320e0dac50fSopenharmony_ci    ASSERT_EQ(point.y, option->GetHitOffset().y);
321e0dac50fSopenharmony_ci}
322e0dac50fSopenharmony_ci
323e0dac50fSopenharmony_ci/**
324e0dac50fSopenharmony_ci * @tc.name: KeepScreenOn
325e0dac50fSopenharmony_ci * @tc.desc: KeepScreenOn setter/getter test
326e0dac50fSopenharmony_ci * @tc.type: FUNC
327e0dac50fSopenharmony_ci */
328e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, KeepScreenOn, Function | SmallTest | Level3)
329e0dac50fSopenharmony_ci{
330e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
331e0dac50fSopenharmony_ci    option->SetKeepScreenOn(true);
332e0dac50fSopenharmony_ci    ASSERT_EQ(true, option->IsKeepScreenOn());
333e0dac50fSopenharmony_ci    option->SetKeepScreenOn(false);
334e0dac50fSopenharmony_ci    ASSERT_EQ(false, option->IsKeepScreenOn());
335e0dac50fSopenharmony_ci}
336e0dac50fSopenharmony_ci
337e0dac50fSopenharmony_ci/**
338e0dac50fSopenharmony_ci * @tc.name: TurnScreenOn
339e0dac50fSopenharmony_ci * @tc.desc: TurnScreenOn setter/getter test
340e0dac50fSopenharmony_ci * @tc.type: FUNC
341e0dac50fSopenharmony_ci */
342e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, TurnScreenOn, Function | SmallTest | Level3)
343e0dac50fSopenharmony_ci{
344e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
345e0dac50fSopenharmony_ci    option->SetTurnScreenOn(true);
346e0dac50fSopenharmony_ci    ASSERT_EQ(true, option->IsTurnScreenOn());
347e0dac50fSopenharmony_ci    option->SetTurnScreenOn(false);
348e0dac50fSopenharmony_ci    ASSERT_EQ(false, option->IsTurnScreenOn());
349e0dac50fSopenharmony_ci}
350e0dac50fSopenharmony_ci
351e0dac50fSopenharmony_ci/**
352e0dac50fSopenharmony_ci * @tc.name: Brightness
353e0dac50fSopenharmony_ci * @tc.desc: Brightness setter/getter test
354e0dac50fSopenharmony_ci * @tc.type: FUNC
355e0dac50fSopenharmony_ci */
356e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, Brightness, Function | SmallTest | Level3)
357e0dac50fSopenharmony_ci{
358e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
359e0dac50fSopenharmony_ci    option->SetBrightness(MINIMUM_BRIGHTNESS);
360e0dac50fSopenharmony_ci    ASSERT_EQ(MINIMUM_BRIGHTNESS, option->GetBrightness());
361e0dac50fSopenharmony_ci    option->SetBrightness(MAXIMUM_BRIGHTNESS);
362e0dac50fSopenharmony_ci    ASSERT_EQ(MAXIMUM_BRIGHTNESS, option->GetBrightness());
363e0dac50fSopenharmony_ci
364e0dac50fSopenharmony_ci    float brightness = -0.5;
365e0dac50fSopenharmony_ci    option->SetBrightness(brightness);
366e0dac50fSopenharmony_ci    ASSERT_EQ(brightness, option->GetBrightness());
367e0dac50fSopenharmony_ci    brightness = 2.0;
368e0dac50fSopenharmony_ci    option->SetBrightness(brightness);
369e0dac50fSopenharmony_ci    ASSERT_EQ(brightness, option->GetBrightness());
370e0dac50fSopenharmony_ci}
371e0dac50fSopenharmony_ci
372e0dac50fSopenharmony_ci/**
373e0dac50fSopenharmony_ci * @tc.name: CallingWindow
374e0dac50fSopenharmony_ci * @tc.desc: CallingWindow setter/getter test
375e0dac50fSopenharmony_ci * @tc.type: FUNC
376e0dac50fSopenharmony_ci */
377e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, CallingWindow, Function | SmallTest | Level3)
378e0dac50fSopenharmony_ci{
379e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
380e0dac50fSopenharmony_ci    option->SetCallingWindow(1);
381e0dac50fSopenharmony_ci    ASSERT_EQ(1, option->GetCallingWindow());
382e0dac50fSopenharmony_ci}
383e0dac50fSopenharmony_ci
384e0dac50fSopenharmony_ci/**
385e0dac50fSopenharmony_ci * @tc.name: SetWindowSessionType
386e0dac50fSopenharmony_ci * @tc.desc: SetWindowSessionType fun
387e0dac50fSopenharmony_ci * @tc.type: FUNC
388e0dac50fSopenharmony_ci */
389e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetWindowSessionType, Function | SmallTest | Level3)
390e0dac50fSopenharmony_ci{
391e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
392e0dac50fSopenharmony_ci    auto ret = true;
393e0dac50fSopenharmony_ci    option->SetWindowSessionType(WindowSessionType::SCENE_SESSION);
394e0dac50fSopenharmony_ci    ASSERT_EQ(true, ret);
395e0dac50fSopenharmony_ci}
396e0dac50fSopenharmony_ci
397e0dac50fSopenharmony_ci/**
398e0dac50fSopenharmony_ci * @tc.name: GetWindowSessionType
399e0dac50fSopenharmony_ci * @tc.desc: GetWindowSessionType fun
400e0dac50fSopenharmony_ci * @tc.type: FUNC
401e0dac50fSopenharmony_ci */
402e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, GetWindowSessionType, Function | SmallTest | Level3)
403e0dac50fSopenharmony_ci{
404e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
405e0dac50fSopenharmony_ci    option->SetWindowSessionType(WindowSessionType::SCENE_SESSION);
406e0dac50fSopenharmony_ci    option->GetWindowSessionType();
407e0dac50fSopenharmony_ci    ASSERT_EQ(WindowSessionType::SCENE_SESSION, option->GetWindowSessionType());
408e0dac50fSopenharmony_ci}
409e0dac50fSopenharmony_ci
410e0dac50fSopenharmony_ci/**
411e0dac50fSopenharmony_ci * @tc.name: Test01
412e0dac50fSopenharmony_ci * @tc.desc: Test01
413e0dac50fSopenharmony_ci * @tc.type: FUNC
414e0dac50fSopenharmony_ci */
415e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, Test01, Function | SmallTest | Level3)
416e0dac50fSopenharmony_ci{
417e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
418e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
419e0dac50fSopenharmony_ci    option->SetIsUIExtFirstSubWindow(true);
420e0dac50fSopenharmony_ci    option->SetSubWindowTitle("Test");
421e0dac50fSopenharmony_ci    std::string ret = option->GetSubWindowTitle();
422e0dac50fSopenharmony_ci    ASSERT_EQ(true, ret == "Test");
423e0dac50fSopenharmony_ci    option->SetSubWindowDecorEnable(true);
424e0dac50fSopenharmony_ci    bool ret1 = option->GetSubWindowDecorEnable();
425e0dac50fSopenharmony_ci    ASSERT_EQ(true, ret1);
426e0dac50fSopenharmony_ci    option->SetOnlySupportSceneBoard(true);
427e0dac50fSopenharmony_ci    bool ret2 = option->GetOnlySupportSceneBoard();
428e0dac50fSopenharmony_ci    ASSERT_EQ(true, ret2);
429e0dac50fSopenharmony_ci}
430e0dac50fSopenharmony_ci
431e0dac50fSopenharmony_ci/**
432e0dac50fSopenharmony_ci * @tc.name: RealParentId
433e0dac50fSopenharmony_ci * @tc.desc: RealParentId setter and getter test
434e0dac50fSopenharmony_ci * @tc.type: FUNC
435e0dac50fSopenharmony_ci */
436e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetRealParentId, Function | SmallTest | Level3)
437e0dac50fSopenharmony_ci{
438e0dac50fSopenharmony_ci    sptr<WindowOption> option = sptr<WindowOption>::MakeSptr();
439e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
440e0dac50fSopenharmony_ci    option->SetRealParentId(114);
441e0dac50fSopenharmony_ci    EXPECT_EQ(114, option->GetRealParentId());
442e0dac50fSopenharmony_ci    option->SetRealParentId(514);
443e0dac50fSopenharmony_ci    EXPECT_EQ(514, option->GetRealParentId());
444e0dac50fSopenharmony_ci}
445e0dac50fSopenharmony_ci
446e0dac50fSopenharmony_ci/**
447e0dac50fSopenharmony_ci * @tc.name: SetParentWindowType
448e0dac50fSopenharmony_ci * @tc.desc: SetParentWindowType setter and getter test
449e0dac50fSopenharmony_ci * @tc.type: FUNC
450e0dac50fSopenharmony_ci */
451e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetParentWindowType, Function | SmallTest | Level3)
452e0dac50fSopenharmony_ci{
453e0dac50fSopenharmony_ci    sptr<WindowOption> option = sptr<WindowOption>::MakeSptr();
454e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
455e0dac50fSopenharmony_ci    option->SetParentWindowType(WindowType::WINDOW_TYPE_TOAST);
456e0dac50fSopenharmony_ci    EXPECT_EQ(WindowType::WINDOW_TYPE_TOAST, option->GetParentWindowType());
457e0dac50fSopenharmony_ci    option->SetParentWindowType(WindowType::WINDOW_TYPE_APP_COMPONENT);
458e0dac50fSopenharmony_ci    EXPECT_EQ(WindowType::WINDOW_TYPE_APP_COMPONENT, option->GetParentWindowType());
459e0dac50fSopenharmony_ci}
460e0dac50fSopenharmony_ci
461e0dac50fSopenharmony_ci/**
462e0dac50fSopenharmony_ci * @tc.name: UIExtensionUsage
463e0dac50fSopenharmony_ci * @tc.desc: UIExtensionUsage setter and getter test
464e0dac50fSopenharmony_ci * @tc.type: FUNC
465e0dac50fSopenharmony_ci */
466e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetUIExtensionUsage, Function | SmallTest | Level3)
467e0dac50fSopenharmony_ci{
468e0dac50fSopenharmony_ci    sptr<WindowOption> option = sptr<WindowOption>::MakeSptr();
469e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
470e0dac50fSopenharmony_ci    option->SetUIExtensionUsage(0);
471e0dac50fSopenharmony_ci    EXPECT_EQ(0, option->GetUIExtensionUsage());
472e0dac50fSopenharmony_ci    option->SetUIExtensionUsage(1);
473e0dac50fSopenharmony_ci    EXPECT_EQ(1, option->GetUIExtensionUsage());
474e0dac50fSopenharmony_ci}
475e0dac50fSopenharmony_ci
476e0dac50fSopenharmony_ci/**
477e0dac50fSopenharmony_ci * @tc.name: SetDialogDecorEnable
478e0dac50fSopenharmony_ci * @tc.desc: SetDialogDecorEnable
479e0dac50fSopenharmony_ci * @tc.type: FUNC
480e0dac50fSopenharmony_ci */
481e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetDialogDecorEnable, Function | SmallTest | Level3)
482e0dac50fSopenharmony_ci{
483e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
484e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
485e0dac50fSopenharmony_ci    option->SetDialogDecorEnable(true);
486e0dac50fSopenharmony_ci    ASSERT_EQ(true, option->GetDialogDecorEnable());
487e0dac50fSopenharmony_ci    option->SetDialogDecorEnable(false);
488e0dac50fSopenharmony_ci    ASSERT_EQ(false, option->GetDialogDecorEnable());
489e0dac50fSopenharmony_ci}
490e0dac50fSopenharmony_ci
491e0dac50fSopenharmony_ci/**
492e0dac50fSopenharmony_ci * @tc.name: SetDialogTitle
493e0dac50fSopenharmony_ci * @tc.desc: SetDialogTitle
494e0dac50fSopenharmony_ci * @tc.type: FUNC
495e0dac50fSopenharmony_ci */
496e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetDialogTitle, Function | SmallTest | Level3)
497e0dac50fSopenharmony_ci{
498e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
499e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
500e0dac50fSopenharmony_ci    option->SetDialogTitle("Test");
501e0dac50fSopenharmony_ci    std::string ret = option->GetDialogTitle();
502e0dac50fSopenharmony_ci    ASSERT_EQ(true, ret == "Test");
503e0dac50fSopenharmony_ci}
504e0dac50fSopenharmony_ci
505e0dac50fSopenharmony_ci/**
506e0dac50fSopenharmony_ci * @tc.name: SetWindowTopmost
507e0dac50fSopenharmony_ci * @tc.desc: SetWindowTopmost
508e0dac50fSopenharmony_ci * @tc.type: FUNC
509e0dac50fSopenharmony_ci */
510e0dac50fSopenharmony_ciHWTEST_F(WindowOptionTest, SetWindowTopmost, Function | SmallTest | Level3)
511e0dac50fSopenharmony_ci{
512e0dac50fSopenharmony_ci    sptr<WindowOption> option = new WindowOption();
513e0dac50fSopenharmony_ci    ASSERT_NE(nullptr, option);
514e0dac50fSopenharmony_ci    option->SetWindowTopmost(true);
515e0dac50fSopenharmony_ci    ASSERT_EQ(true, option->GetWindowTopmost());
516e0dac50fSopenharmony_ci    option->SetWindowTopmost(false);
517e0dac50fSopenharmony_ci    ASSERT_EQ(false, option->GetWindowTopmost());
518e0dac50fSopenharmony_ci}
519e0dac50fSopenharmony_ci}
520e0dac50fSopenharmony_ci} // namespace Rosen
521e0dac50fSopenharmony_ci} // namespace OHOS
522