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#include <gtest/gtest.h> 16e0dac50fSopenharmony_ci 17e0dac50fSopenharmony_ci#include "display_manager.h" 18e0dac50fSopenharmony_ci#include "display_manager_config.h" 19e0dac50fSopenharmony_ci#include "future.h" 20e0dac50fSopenharmony_ci#include "wm_math.h" 21e0dac50fSopenharmony_ci#include "window_node.h" 22e0dac50fSopenharmony_ci#include "window_node_container.h" 23e0dac50fSopenharmony_ci 24e0dac50fSopenharmony_ciusing namespace testing; 25e0dac50fSopenharmony_ciusing namespace testing::ext; 26e0dac50fSopenharmony_ci 27e0dac50fSopenharmony_cinamespace OHOS { 28e0dac50fSopenharmony_cinamespace Rosen { 29e0dac50fSopenharmony_ciclass WindowNodeTest : public testing::Test { 30e0dac50fSopenharmony_cipublic: 31e0dac50fSopenharmony_ci static void SetUpTestCase(); 32e0dac50fSopenharmony_ci static void TearDownTestCase(); 33e0dac50fSopenharmony_ci virtual void SetUp() override; 34e0dac50fSopenharmony_ci virtual void TearDown() override; 35e0dac50fSopenharmony_ci}; 36e0dac50fSopenharmony_ci 37e0dac50fSopenharmony_civoid WindowNodeTest::SetUpTestCase() 38e0dac50fSopenharmony_ci{ 39e0dac50fSopenharmony_ci} 40e0dac50fSopenharmony_ci 41e0dac50fSopenharmony_civoid WindowNodeTest::TearDownTestCase() 42e0dac50fSopenharmony_ci{ 43e0dac50fSopenharmony_ci} 44e0dac50fSopenharmony_ci 45e0dac50fSopenharmony_civoid WindowNodeTest::SetUp() 46e0dac50fSopenharmony_ci{ 47e0dac50fSopenharmony_ci} 48e0dac50fSopenharmony_ci 49e0dac50fSopenharmony_civoid WindowNodeTest::TearDown() 50e0dac50fSopenharmony_ci{ 51e0dac50fSopenharmony_ci} 52e0dac50fSopenharmony_ciclass WindowListener : public IWindow { 53e0dac50fSopenharmony_cipublic: 54e0dac50fSopenharmony_ci virtual WMError UpdateWindowRect(const struct Rect& rect, bool decoStatus, WindowSizeChangeReason reason, 55e0dac50fSopenharmony_ci const std::shared_ptr<RSTransaction>& rsTransaction = nullptr) override 56e0dac50fSopenharmony_ci { 57e0dac50fSopenharmony_ci return WMError::WM_OK; 58e0dac50fSopenharmony_ci }; 59e0dac50fSopenharmony_ci virtual WMError UpdateWindowMode(WindowMode mode) override 60e0dac50fSopenharmony_ci { 61e0dac50fSopenharmony_ci return WMError::WM_OK; 62e0dac50fSopenharmony_ci }; 63e0dac50fSopenharmony_ci virtual WMError UpdateWindowModeSupportInfo(uint32_t modeSupportInfo) override 64e0dac50fSopenharmony_ci { 65e0dac50fSopenharmony_ci return WMError::WM_OK; 66e0dac50fSopenharmony_ci }; 67e0dac50fSopenharmony_ci virtual WMError UpdateFocusStatus(bool focused) override 68e0dac50fSopenharmony_ci { 69e0dac50fSopenharmony_ci return WMError::WM_OK; 70e0dac50fSopenharmony_ci }; 71e0dac50fSopenharmony_ci virtual WMError UpdateAvoidArea(const sptr<AvoidArea>& avoidArea, AvoidAreaType type) override 72e0dac50fSopenharmony_ci { 73e0dac50fSopenharmony_ci return WMError::WM_OK; 74e0dac50fSopenharmony_ci }; 75e0dac50fSopenharmony_ci virtual WMError UpdateWindowState(WindowState state) override 76e0dac50fSopenharmony_ci { 77e0dac50fSopenharmony_ci return WMError::WM_OK; 78e0dac50fSopenharmony_ci }; 79e0dac50fSopenharmony_ci virtual WMError UpdateWindowDragInfo(const PointInfo& point, DragEvent event) override 80e0dac50fSopenharmony_ci { 81e0dac50fSopenharmony_ci return WMError::WM_OK; 82e0dac50fSopenharmony_ci }; 83e0dac50fSopenharmony_ci virtual WMError UpdateDisplayId(DisplayId from, DisplayId to) override 84e0dac50fSopenharmony_ci { 85e0dac50fSopenharmony_ci return WMError::WM_OK; 86e0dac50fSopenharmony_ci }; 87e0dac50fSopenharmony_ci virtual WMError UpdateOccupiedAreaChangeInfo(const sptr<OccupiedAreaChangeInfo>& info, 88e0dac50fSopenharmony_ci const std::shared_ptr<RSTransaction>& rsTransaction = nullptr) override 89e0dac50fSopenharmony_ci { 90e0dac50fSopenharmony_ci return WMError::WM_OK; 91e0dac50fSopenharmony_ci }; 92e0dac50fSopenharmony_ci virtual WMError UpdateOccupiedAreaAndRect(const sptr<OccupiedAreaChangeInfo>& info, const Rect& rect, 93e0dac50fSopenharmony_ci const std::shared_ptr<RSTransaction>& rsTransaction = nullptr) override 94e0dac50fSopenharmony_ci { 95e0dac50fSopenharmony_ci return WMError::WM_OK; 96e0dac50fSopenharmony_ci }; 97e0dac50fSopenharmony_ci virtual WMError UpdateActiveStatus(bool isActive) override 98e0dac50fSopenharmony_ci { 99e0dac50fSopenharmony_ci return WMError::WM_OK; 100e0dac50fSopenharmony_ci }; 101e0dac50fSopenharmony_ci virtual sptr<WindowProperty> GetWindowProperty() override 102e0dac50fSopenharmony_ci { 103e0dac50fSopenharmony_ci return nullptr; 104e0dac50fSopenharmony_ci }; 105e0dac50fSopenharmony_ci virtual WMError NotifyTouchOutside() override 106e0dac50fSopenharmony_ci { 107e0dac50fSopenharmony_ci return WMError::WM_OK; 108e0dac50fSopenharmony_ci }; 109e0dac50fSopenharmony_ci virtual WMError NotifyScreenshot() override 110e0dac50fSopenharmony_ci { 111e0dac50fSopenharmony_ci return WMError::WM_OK; 112e0dac50fSopenharmony_ci }; 113e0dac50fSopenharmony_ci virtual WMError DumpInfo(const std::vector<std::string>& params) override 114e0dac50fSopenharmony_ci { 115e0dac50fSopenharmony_ci return WMError::WM_OK; 116e0dac50fSopenharmony_ci }; 117e0dac50fSopenharmony_ci virtual WMError NotifyDestroy(void) override 118e0dac50fSopenharmony_ci { 119e0dac50fSopenharmony_ci return WMError::WM_OK; 120e0dac50fSopenharmony_ci }; 121e0dac50fSopenharmony_ci WMError NotifyForeground(void) override 122e0dac50fSopenharmony_ci { 123e0dac50fSopenharmony_ci return WMError::WM_OK; 124e0dac50fSopenharmony_ci }; 125e0dac50fSopenharmony_ci WMError NotifyBackground(void) override 126e0dac50fSopenharmony_ci { 127e0dac50fSopenharmony_ci return WMError::WM_OK; 128e0dac50fSopenharmony_ci }; 129e0dac50fSopenharmony_ci virtual WMError NotifyWindowClientPointUp(const std::shared_ptr<MMI::PointerEvent>& pointerEvent) override 130e0dac50fSopenharmony_ci { 131e0dac50fSopenharmony_ci return WMError::WM_OK; 132e0dac50fSopenharmony_ci }; 133e0dac50fSopenharmony_ci WMError UpdateZoomTransform(const Transform& trans, bool isDisplayZoomOn) override 134e0dac50fSopenharmony_ci { 135e0dac50fSopenharmony_ci return WMError::WM_OK; 136e0dac50fSopenharmony_ci }; 137e0dac50fSopenharmony_ci virtual WMError RestoreSplitWindowMode(uint32_t mode) override 138e0dac50fSopenharmony_ci { 139e0dac50fSopenharmony_ci return WMError::WM_OK; 140e0dac50fSopenharmony_ci }; 141e0dac50fSopenharmony_ci 142e0dac50fSopenharmony_ci virtual sptr<IRemoteObject> AsObject() override 143e0dac50fSopenharmony_ci { 144e0dac50fSopenharmony_ci return nullptr; 145e0dac50fSopenharmony_ci }; 146e0dac50fSopenharmony_ci void ConsumeKeyEvent(std::shared_ptr<MMI::KeyEvent> event) override {} 147e0dac50fSopenharmony_ci void NotifyForegroundInteractiveStatus(bool interactive) override {} 148e0dac50fSopenharmony_ci}; 149e0dac50fSopenharmony_ci 150e0dac50fSopenharmony_cisptr<WindowProperty> CreateWindowProperty(uint32_t windowId, const std::string& windowName) 151e0dac50fSopenharmony_ci{ 152e0dac50fSopenharmony_ci sptr<WindowProperty> property = new WindowProperty(); 153e0dac50fSopenharmony_ci property->SetWindowId(windowId); 154e0dac50fSopenharmony_ci property->SetWindowName(windowName); 155e0dac50fSopenharmony_ci return property; 156e0dac50fSopenharmony_ci} 157e0dac50fSopenharmony_ci 158e0dac50fSopenharmony_ciRSSurfaceNode::SharedPtr CreateRSSurfaceNode(std::string windowNode) 159e0dac50fSopenharmony_ci{ 160e0dac50fSopenharmony_ci struct RSSurfaceNodeConfig rsSurfaceNodeConfig; 161e0dac50fSopenharmony_ci rsSurfaceNodeConfig.SurfaceNodeName = windowNode; 162e0dac50fSopenharmony_ci auto surfaceNode = RSSurfaceNode::Create(rsSurfaceNodeConfig); 163e0dac50fSopenharmony_ci return surfaceNode; 164e0dac50fSopenharmony_ci} 165e0dac50fSopenharmony_cinamespace { 166e0dac50fSopenharmony_ci/** 167e0dac50fSopenharmony_ci * @tc.name: NewWindowNode01 168e0dac50fSopenharmony_ci * @tc.desc: new window node with WindowProperty 169e0dac50fSopenharmony_ci * @tc.type: FUNC 170e0dac50fSopenharmony_ci */ 171e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, NewWindowNode01, Function | SmallTest | Level3) 172e0dac50fSopenharmony_ci{ 173e0dac50fSopenharmony_ci std::string windowName = "WindowNode01"; 174e0dac50fSopenharmony_ci auto property = CreateWindowProperty(1, windowName); 175e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 176e0dac50fSopenharmony_ci 177e0dac50fSopenharmony_ci sptr<WindowNode> windowNode2 = new WindowNode(property); 178e0dac50fSopenharmony_ci windowNode2->SetWindowProperty(property); 179e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode2); 180e0dac50fSopenharmony_ci ASSERT_EQ(windowName, windowNode2->GetWindowName()); 181e0dac50fSopenharmony_ci} 182e0dac50fSopenharmony_ci/** 183e0dac50fSopenharmony_ci * @tc.name: NewWindowNode02 184e0dac50fSopenharmony_ci * @tc.desc: new window node with WindowProperty, RSSurfaceNode, IWindow 185e0dac50fSopenharmony_ci * @tc.type: FUNC 186e0dac50fSopenharmony_ci */ 187e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, NewWindowNode02, Function | SmallTest | Level1) 188e0dac50fSopenharmony_ci{ 189e0dac50fSopenharmony_ci std::string windowName = "WindowNode02"; 190e0dac50fSopenharmony_ci auto property = CreateWindowProperty(2, windowName); 191e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 192e0dac50fSopenharmony_ci 193e0dac50fSopenharmony_ci auto surfaceNode = CreateRSSurfaceNode(windowName); 194e0dac50fSopenharmony_ci ASSERT_NE(nullptr, surfaceNode); 195e0dac50fSopenharmony_ci 196e0dac50fSopenharmony_ci WindowListener* iWindow = new WindowListener(); 197e0dac50fSopenharmony_ci ASSERT_NE(nullptr, iWindow); 198e0dac50fSopenharmony_ci 199e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property, iWindow, surfaceNode); 200e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 201e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 202e0dac50fSopenharmony_ci ASSERT_EQ(windowName, windowNode->GetWindowName()); 203e0dac50fSopenharmony_ci} 204e0dac50fSopenharmony_ci/** 205e0dac50fSopenharmony_ci * @tc.name: NewWindowNode03 206e0dac50fSopenharmony_ci * @tc.desc: new window node with WindowProperty, RSSurfaceNode, IWindow, pid , uid 207e0dac50fSopenharmony_ci * @tc.type: FUNC 208e0dac50fSopenharmony_ci */ 209e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, NewWindowNode03, Function | SmallTest | Level1) 210e0dac50fSopenharmony_ci{ 211e0dac50fSopenharmony_ci std::string windowName = "WindowNode03"; 212e0dac50fSopenharmony_ci auto property = CreateWindowProperty(3, windowName); 213e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 214e0dac50fSopenharmony_ci auto surfaceNode = CreateRSSurfaceNode(windowName); 215e0dac50fSopenharmony_ci ASSERT_NE(nullptr, surfaceNode); 216e0dac50fSopenharmony_ci sptr<WindowListener> iWindow = new Rosen::WindowListener(); 217e0dac50fSopenharmony_ci ASSERT_NE(nullptr, iWindow); 218e0dac50fSopenharmony_ci 219e0dac50fSopenharmony_ci int32_t pid = 1; 220e0dac50fSopenharmony_ci int32_t uid = 2; 221e0dac50fSopenharmony_ci WindowNode* windowNode = new WindowNode(property, iWindow, surfaceNode, pid, uid); 222e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 223e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 224e0dac50fSopenharmony_ci 225e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetInputEventCallingPid()); 226e0dac50fSopenharmony_ci ASSERT_EQ(2, windowNode->GetCallingPid()); 227e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetCallingUid()); 228e0dac50fSopenharmony_ci} 229e0dac50fSopenharmony_ci 230e0dac50fSopenharmony_ci/** 231e0dac50fSopenharmony_ci * @tc.name: SetDisplayId01 232e0dac50fSopenharmony_ci * @tc.desc: SetDisplayId & GetDisplayId 233e0dac50fSopenharmony_ci * @tc.type: FUNC 234e0dac50fSopenharmony_ci */ 235e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetDisplayId01, Function | SmallTest | Level1) 236e0dac50fSopenharmony_ci{ 237e0dac50fSopenharmony_ci std::string windowName = "WindowNode04"; 238e0dac50fSopenharmony_ci auto property = CreateWindowProperty(4, windowName); 239e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 240e0dac50fSopenharmony_ci 241e0dac50fSopenharmony_ci WindowNode* windowNode = new WindowNode(property); 242e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 243e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 244e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetDisplayId()); 245e0dac50fSopenharmony_ci 246e0dac50fSopenharmony_ci windowNode->SetDisplayId(1); 247e0dac50fSopenharmony_ci ASSERT_EQ(1, windowNode->GetDisplayId()); 248e0dac50fSopenharmony_ci} 249e0dac50fSopenharmony_ci 250e0dac50fSopenharmony_ci/** 251e0dac50fSopenharmony_ci * @tc.name: SetEntireWindowTouchHotArea01 252e0dac50fSopenharmony_ci * @tc.desc: SetEntireWindowTouchHotArea & GetEntireWindowTouchHotArea 253e0dac50fSopenharmony_ci * @tc.type: FUNC 254e0dac50fSopenharmony_ci */ 255e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetEntireWindowTouchHotArea01, Function | SmallTest | Level1) 256e0dac50fSopenharmony_ci{ 257e0dac50fSopenharmony_ci std::string windowName = "WindowNode05"; 258e0dac50fSopenharmony_ci auto property = CreateWindowProperty(5, windowName); 259e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 260e0dac50fSopenharmony_ci 261e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 262e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 263e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 264e0dac50fSopenharmony_ci 265e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowTouchHotArea().posX_); 266e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowTouchHotArea().posY_); 267e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowTouchHotArea().width_); 268e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowTouchHotArea().height_); 269e0dac50fSopenharmony_ci 270e0dac50fSopenharmony_ci Rect testValue = { 10, 10, 255, 255 }; 271e0dac50fSopenharmony_ci windowNode->SetEntireWindowTouchHotArea(testValue); 272e0dac50fSopenharmony_ci ASSERT_EQ(testValue.posX_, windowNode->GetEntireWindowTouchHotArea().posX_); 273e0dac50fSopenharmony_ci ASSERT_EQ(testValue.posY_, windowNode->GetEntireWindowTouchHotArea().posY_); 274e0dac50fSopenharmony_ci ASSERT_EQ(testValue.width_, windowNode->GetEntireWindowTouchHotArea().width_); 275e0dac50fSopenharmony_ci ASSERT_EQ(testValue.height_, windowNode->GetEntireWindowTouchHotArea().height_); 276e0dac50fSopenharmony_ci} 277e0dac50fSopenharmony_ci/** 278e0dac50fSopenharmony_ci * @tc.name: SetEntireWindowPointerHotArea01 279e0dac50fSopenharmony_ci * @tc.desc: SetEntireWindowPointerHotArea & GetEntireWindowPointerHotArea 280e0dac50fSopenharmony_ci * @tc.type: FUNC 281e0dac50fSopenharmony_ci */ 282e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetEntireWindowPointerHotArea01, Function | SmallTest | Level1) 283e0dac50fSopenharmony_ci{ 284e0dac50fSopenharmony_ci std::string windowName = "WindowNode06"; 285e0dac50fSopenharmony_ci auto property = CreateWindowProperty(6, windowName); 286e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 287e0dac50fSopenharmony_ci 288e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 289e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 290e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 291e0dac50fSopenharmony_ci 292e0dac50fSopenharmony_ci Rect rect1 = {0, 0, 0, 0}; 293e0dac50fSopenharmony_ci windowNode->SetEntireWindowPointerHotArea(rect1); 294e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowPointerHotArea().posX_); 295e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowPointerHotArea().posY_); 296e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowPointerHotArea().width_); 297e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetEntireWindowPointerHotArea().height_); 298e0dac50fSopenharmony_ci 299e0dac50fSopenharmony_ci Rect rect2 = {10, 10, 255, 255}; 300e0dac50fSopenharmony_ci windowNode->SetEntireWindowPointerHotArea(rect2); 301e0dac50fSopenharmony_ci ASSERT_EQ(10, windowNode->GetEntireWindowPointerHotArea().posX_); 302e0dac50fSopenharmony_ci ASSERT_EQ(10, windowNode->GetEntireWindowPointerHotArea().posY_); 303e0dac50fSopenharmony_ci ASSERT_EQ(255, windowNode->GetEntireWindowPointerHotArea().width_); 304e0dac50fSopenharmony_ci ASSERT_EQ(255, windowNode->GetEntireWindowPointerHotArea().height_); 305e0dac50fSopenharmony_ci} 306e0dac50fSopenharmony_ci/** 307e0dac50fSopenharmony_ci * @tc.name: SetWindowRect01 308e0dac50fSopenharmony_ci * @tc.desc: SetWindowRect & GetWindowRect 309e0dac50fSopenharmony_ci * @tc.type: FUNC 310e0dac50fSopenharmony_ci */ 311e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetWindowRect01, Function | SmallTest | Level1) 312e0dac50fSopenharmony_ci{ 313e0dac50fSopenharmony_ci std::string windowName = "WindowNode07"; 314e0dac50fSopenharmony_ci auto property = CreateWindowProperty(7, windowName); 315e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 316e0dac50fSopenharmony_ci 317e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 318e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 319e0dac50fSopenharmony_ci 320e0dac50fSopenharmony_ci Rect rect1 = {0, 0, 0, 0}; 321e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 322e0dac50fSopenharmony_ci windowNode->SetWindowRect(rect1); 323e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetWindowRect().posX_); 324e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetWindowRect().posY_); 325e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetWindowRect().width_); 326e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetWindowRect().height_); 327e0dac50fSopenharmony_ci 328e0dac50fSopenharmony_ci Rect rect2 = {10, 10, 255, 255}; 329e0dac50fSopenharmony_ci windowNode->SetWindowRect(rect2); 330e0dac50fSopenharmony_ci ASSERT_EQ(10, windowNode->GetWindowRect().posX_); 331e0dac50fSopenharmony_ci ASSERT_EQ(10, windowNode->GetWindowRect().posY_); 332e0dac50fSopenharmony_ci ASSERT_EQ(255, windowNode->GetWindowRect().width_); 333e0dac50fSopenharmony_ci ASSERT_EQ(255, windowNode->GetWindowRect().height_); 334e0dac50fSopenharmony_ci} 335e0dac50fSopenharmony_ci/** 336e0dac50fSopenharmony_ci * @tc.name: SetDecoStatus01 337e0dac50fSopenharmony_ci * @tc.desc: SetDecoStatus & GetDecoStatus 338e0dac50fSopenharmony_ci * @tc.type: FUNC 339e0dac50fSopenharmony_ci */ 340e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetDecoStatus01, Function | SmallTest | Level1) 341e0dac50fSopenharmony_ci{ 342e0dac50fSopenharmony_ci std::string windowName = "WindowNode08"; 343e0dac50fSopenharmony_ci auto property = CreateWindowProperty(8, windowName); 344e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 345e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 346e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 347e0dac50fSopenharmony_ci 348e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 349e0dac50fSopenharmony_ci windowNode->SetDecoStatus(true); 350e0dac50fSopenharmony_ci ASSERT_EQ(true, windowNode->GetDecoStatus()); 351e0dac50fSopenharmony_ci windowNode->SetDecoStatus(false); 352e0dac50fSopenharmony_ci ASSERT_EQ(false, windowNode->GetDecoStatus()); 353e0dac50fSopenharmony_ci 354e0dac50fSopenharmony_ci windowNode->SetDecorEnable(true); 355e0dac50fSopenharmony_ci ASSERT_EQ(true, windowNode->GetWindowProperty()->GetDecorEnable()); 356e0dac50fSopenharmony_ci windowNode->SetDecorEnable(false); 357e0dac50fSopenharmony_ci ASSERT_EQ(false, windowNode->GetWindowProperty()->GetDecorEnable()); 358e0dac50fSopenharmony_ci} 359e0dac50fSopenharmony_ci/** 360e0dac50fSopenharmony_ci * @tc.name: SetRequestRect01 361e0dac50fSopenharmony_ci * @tc.desc: SetRequestRect & GetRequestRect 362e0dac50fSopenharmony_ci * @tc.type: FUNC 363e0dac50fSopenharmony_ci */ 364e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetRequestRect01, Function | SmallTest | Level1) 365e0dac50fSopenharmony_ci{ 366e0dac50fSopenharmony_ci std::string windowName = "WindowNode09"; 367e0dac50fSopenharmony_ci auto property = CreateWindowProperty(9, windowName); 368e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 369e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 370e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 371e0dac50fSopenharmony_ci 372e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 373e0dac50fSopenharmony_ci Rect rect1 = { 0, 0, 0, 0 }; 374e0dac50fSopenharmony_ci windowNode->SetRequestRect(rect1); 375e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetRequestRect().posX_); 376e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetRequestRect().posY_); 377e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetRequestRect().width_); 378e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetRequestRect().height_); 379e0dac50fSopenharmony_ci 380e0dac50fSopenharmony_ci Rect rect2 = { 10, 10, 255, 255 }; 381e0dac50fSopenharmony_ci windowNode->SetRequestRect(rect2); 382e0dac50fSopenharmony_ci ASSERT_EQ(10, windowNode->GetRequestRect().posX_); 383e0dac50fSopenharmony_ci ASSERT_EQ(10, windowNode->GetRequestRect().posY_); 384e0dac50fSopenharmony_ci ASSERT_EQ(255, windowNode->GetRequestRect().width_); 385e0dac50fSopenharmony_ci ASSERT_EQ(255, windowNode->GetRequestRect().height_); 386e0dac50fSopenharmony_ci} 387e0dac50fSopenharmony_ci/** 388e0dac50fSopenharmony_ci * @tc.name: SetWindowProperty01 389e0dac50fSopenharmony_ci * @tc.desc: SetWindowProperty & GetWindowProperty 390e0dac50fSopenharmony_ci * @tc.type: FUNC 391e0dac50fSopenharmony_ci */ 392e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetWindowProperty01, Function | SmallTest | Level1) 393e0dac50fSopenharmony_ci{ 394e0dac50fSopenharmony_ci std::string windowName = "WindowNode09"; 395e0dac50fSopenharmony_ci auto property = CreateWindowProperty(9, windowName); 396e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 397e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 398e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 399e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 400e0dac50fSopenharmony_ci ASSERT_EQ(property, windowNode->GetWindowProperty()); 401e0dac50fSopenharmony_ci 402e0dac50fSopenharmony_ci auto property2 = CreateWindowProperty(10, windowName); 403e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property2); 404e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property2); 405e0dac50fSopenharmony_ci ASSERT_EQ(property2, windowNode->GetWindowProperty()); 406e0dac50fSopenharmony_ci} 407e0dac50fSopenharmony_ci/** 408e0dac50fSopenharmony_ci * @tc.name: SetSystemBarProperty01 409e0dac50fSopenharmony_ci * @tc.desc: SetSystemBarProperty & GetSystemBarProperty 410e0dac50fSopenharmony_ci * @tc.type: FUNC 411e0dac50fSopenharmony_ci */ 412e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetSystemBarProperty01, Function | SmallTest | Level1) 413e0dac50fSopenharmony_ci{ 414e0dac50fSopenharmony_ci std::string windowName = "WindowNode10"; 415e0dac50fSopenharmony_ci auto property = CreateWindowProperty(10, windowName); 416e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 417e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 418e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 419e0dac50fSopenharmony_ci 420e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 421e0dac50fSopenharmony_ci SystemBarProperty systemBarProperty1; 422e0dac50fSopenharmony_ci SystemBarProperty systemBarProperty2; 423e0dac50fSopenharmony_ci SystemBarProperty systemBarProperty3; 424e0dac50fSopenharmony_ci windowNode->SetSystemBarProperty(WindowType::WINDOW_TYPE_STATUS_BAR, systemBarProperty1); 425e0dac50fSopenharmony_ci windowNode->SetSystemBarProperty(WindowType::WINDOW_TYPE_NAVIGATION_BAR, systemBarProperty2); 426e0dac50fSopenharmony_ci windowNode->SetSystemBarProperty(WindowType::WINDOW_TYPE_APP_MAIN_WINDOW, systemBarProperty3); 427e0dac50fSopenharmony_ci 428e0dac50fSopenharmony_ci auto systemBarProperties = windowNode->GetSystemBarProperty(); 429e0dac50fSopenharmony_ci ASSERT_EQ(systemBarProperty1, systemBarProperties.find(WindowType::WINDOW_TYPE_STATUS_BAR)->second); 430e0dac50fSopenharmony_ci ASSERT_EQ(systemBarProperty2, systemBarProperties.find(WindowType::WINDOW_TYPE_NAVIGATION_BAR)->second); 431e0dac50fSopenharmony_ci ASSERT_EQ(systemBarProperties.end(), systemBarProperties.find(WindowType::WINDOW_TYPE_APP_MAIN_WINDOW)); 432e0dac50fSopenharmony_ci} 433e0dac50fSopenharmony_ci/** 434e0dac50fSopenharmony_ci * @tc.name: SetWindowMode01 435e0dac50fSopenharmony_ci * @tc.desc: SetWindowMode & GetWindowMode 436e0dac50fSopenharmony_ci * @tc.type: FUNC 437e0dac50fSopenharmony_ci */ 438e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetWindowMode01, Function | SmallTest | Level1) 439e0dac50fSopenharmony_ci{ 440e0dac50fSopenharmony_ci std::string windowName = "WindowNode11"; 441e0dac50fSopenharmony_ci auto property = CreateWindowProperty(11, windowName); 442e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 443e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 444e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 445e0dac50fSopenharmony_ci 446e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 447e0dac50fSopenharmony_ci ASSERT_EQ(WindowMode::WINDOW_MODE_UNDEFINED, windowNode->GetWindowMode()); 448e0dac50fSopenharmony_ci 449e0dac50fSopenharmony_ci windowNode->SetWindowMode(WindowMode::WINDOW_MODE_FULLSCREEN); 450e0dac50fSopenharmony_ci ASSERT_EQ(WindowMode::WINDOW_MODE_FULLSCREEN, windowNode->GetWindowMode()); 451e0dac50fSopenharmony_ci} 452e0dac50fSopenharmony_ci/** 453e0dac50fSopenharmony_ci * @tc.name: SetBrightness01 454e0dac50fSopenharmony_ci * @tc.desc: SetBrightness & GetBrightness 455e0dac50fSopenharmony_ci * @tc.type: FUNC 456e0dac50fSopenharmony_ci */ 457e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetBrightness01, Function | SmallTest | Level1) 458e0dac50fSopenharmony_ci{ 459e0dac50fSopenharmony_ci std::string windowName = "WindowNode12"; 460e0dac50fSopenharmony_ci auto property = CreateWindowProperty(12, windowName); 461e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 462e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 463e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 464e0dac50fSopenharmony_ci 465e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 466e0dac50fSopenharmony_ci ASSERT_EQ(UNDEFINED_BRIGHTNESS, windowNode->GetBrightness()); 467e0dac50fSopenharmony_ci 468e0dac50fSopenharmony_ci windowNode->SetBrightness(0.5f); 469e0dac50fSopenharmony_ci ASSERT_EQ(0.5f, windowNode->GetBrightness()); 470e0dac50fSopenharmony_ci windowNode->SetBrightness(1.1f); 471e0dac50fSopenharmony_ci ASSERT_EQ(1.1f, windowNode->GetBrightness()); 472e0dac50fSopenharmony_ci} 473e0dac50fSopenharmony_ci/** 474e0dac50fSopenharmony_ci * @tc.name: SetTurnScreenOn01 475e0dac50fSopenharmony_ci * @tc.desc: SetTurnScreenOn & IsTurnScreenOn 476e0dac50fSopenharmony_ci * @tc.type: FUNC 477e0dac50fSopenharmony_ci */ 478e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetTurnScreenOn01, Function | SmallTest | Level1) 479e0dac50fSopenharmony_ci{ 480e0dac50fSopenharmony_ci std::string windowName = "WindowNode13"; 481e0dac50fSopenharmony_ci auto property = CreateWindowProperty(13, windowName); 482e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 483e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 484e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 485e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 486e0dac50fSopenharmony_ci ASSERT_EQ(false, windowNode->IsTurnScreenOn()); 487e0dac50fSopenharmony_ci windowNode->SetTurnScreenOn(true); 488e0dac50fSopenharmony_ci ASSERT_EQ(true, windowNode->IsTurnScreenOn()); 489e0dac50fSopenharmony_ci} 490e0dac50fSopenharmony_ci/** 491e0dac50fSopenharmony_ci * @tc.name: SetKeepScreenOn01 492e0dac50fSopenharmony_ci * @tc.desc: SetKeepScreenOn & IsKeepScreenOn 493e0dac50fSopenharmony_ci * @tc.type: FUNC 494e0dac50fSopenharmony_ci */ 495e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetKeepScreenOn01, Function | SmallTest | Level1) 496e0dac50fSopenharmony_ci{ 497e0dac50fSopenharmony_ci std::string windowName = "WindowNode14"; 498e0dac50fSopenharmony_ci auto property = CreateWindowProperty(14, windowName); 499e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 500e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 501e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 502e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 503e0dac50fSopenharmony_ci ASSERT_EQ(false, windowNode->IsKeepScreenOn()); 504e0dac50fSopenharmony_ci windowNode->SetKeepScreenOn(true); 505e0dac50fSopenharmony_ci ASSERT_EQ(true, windowNode->IsKeepScreenOn()); 506e0dac50fSopenharmony_ci} 507e0dac50fSopenharmony_ci/** 508e0dac50fSopenharmony_ci * @tc.name: SetCallingWindow01 509e0dac50fSopenharmony_ci * @tc.desc: SetCallingWindow & GetCallingWindow 510e0dac50fSopenharmony_ci * @tc.type: FUNC 511e0dac50fSopenharmony_ci */ 512e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetCallingWindow01, Function | SmallTest | Level1) 513e0dac50fSopenharmony_ci{ 514e0dac50fSopenharmony_ci std::string windowName = "WindowNode15"; 515e0dac50fSopenharmony_ci auto property = CreateWindowProperty(15, windowName); 516e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 517e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 518e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 519e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 520e0dac50fSopenharmony_ci ASSERT_EQ(INVALID_WINDOW_ID, windowNode->GetCallingWindow()); 521e0dac50fSopenharmony_ci windowNode->SetCallingWindow(100); 522e0dac50fSopenharmony_ci ASSERT_EQ(100, windowNode->GetCallingWindow()); 523e0dac50fSopenharmony_ci} 524e0dac50fSopenharmony_ci/** 525e0dac50fSopenharmony_ci * @tc.name: SetCallingPid01 526e0dac50fSopenharmony_ci * @tc.desc: SetCallingPid & GetCallingPid, SetInputEventCallingPid & GetInputEventCallingPid 527e0dac50fSopenharmony_ci * @tc.type: FUNC 528e0dac50fSopenharmony_ci */ 529e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetCallingPid01, Function | SmallTest | Level1) 530e0dac50fSopenharmony_ci{ 531e0dac50fSopenharmony_ci std::string windowName = "WindowNode16"; 532e0dac50fSopenharmony_ci auto property = CreateWindowProperty(16, windowName); 533e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 534e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 535e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 536e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 537e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetCallingPid()); 538e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetInputEventCallingPid()); 539e0dac50fSopenharmony_ci 540e0dac50fSopenharmony_ci windowNode->SetCallingPid(1); 541e0dac50fSopenharmony_ci ASSERT_EQ(1, windowNode->GetCallingPid()); 542e0dac50fSopenharmony_ci ASSERT_EQ(1, windowNode->GetInputEventCallingPid()); 543e0dac50fSopenharmony_ci 544e0dac50fSopenharmony_ci windowNode->SetInputEventCallingPid(2); 545e0dac50fSopenharmony_ci ASSERT_EQ(1, windowNode->GetCallingPid()); 546e0dac50fSopenharmony_ci ASSERT_EQ(2, windowNode->GetInputEventCallingPid()); 547e0dac50fSopenharmony_ci} 548e0dac50fSopenharmony_ci/** 549e0dac50fSopenharmony_ci * @tc.name: SetCallingUid01 550e0dac50fSopenharmony_ci * @tc.desc: SetCallingUid & GetCallingUid 551e0dac50fSopenharmony_ci * @tc.type: FUNC 552e0dac50fSopenharmony_ci */ 553e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetCallingUid01, Function | SmallTest | Level1) 554e0dac50fSopenharmony_ci{ 555e0dac50fSopenharmony_ci std::string windowName = "WindowNode17"; 556e0dac50fSopenharmony_ci auto property = CreateWindowProperty(17, windowName); 557e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 558e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 559e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 560e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 561e0dac50fSopenharmony_ci 562e0dac50fSopenharmony_ci ASSERT_EQ(0, windowNode->GetCallingUid()); 563e0dac50fSopenharmony_ci 564e0dac50fSopenharmony_ci windowNode->SetCallingUid(1); 565e0dac50fSopenharmony_ci ASSERT_EQ(1, windowNode->GetCallingUid()); 566e0dac50fSopenharmony_ci} 567e0dac50fSopenharmony_ci/** 568e0dac50fSopenharmony_ci * @tc.name: SetWindowSizeChangeReason01 569e0dac50fSopenharmony_ci * @tc.desc: SetWindowSizeChangeReason & GetWindowSizeChangeReason & ResetWindowSizeChangeReason 570e0dac50fSopenharmony_ci * @tc.type: FUNC 571e0dac50fSopenharmony_ci */ 572e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetWindowSizeChangeReason01, Function | SmallTest | Level1) 573e0dac50fSopenharmony_ci{ 574e0dac50fSopenharmony_ci std::string windowName = "WindowNode19"; 575e0dac50fSopenharmony_ci auto property = CreateWindowProperty(19, windowName); 576e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 577e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 578e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 579e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 580e0dac50fSopenharmony_ci 581e0dac50fSopenharmony_ci ASSERT_EQ(WindowSizeChangeReason::UNDEFINED, windowNode->GetWindowSizeChangeReason()); 582e0dac50fSopenharmony_ci windowNode->SetWindowSizeChangeReason(WindowSizeChangeReason::MAXIMIZE); 583e0dac50fSopenharmony_ci ASSERT_EQ(WindowSizeChangeReason::MAXIMIZE, windowNode->GetWindowSizeChangeReason()); 584e0dac50fSopenharmony_ci windowNode->ResetWindowSizeChangeReason(); 585e0dac50fSopenharmony_ci ASSERT_EQ(WindowSizeChangeReason::UNDEFINED, windowNode->GetWindowSizeChangeReason()); 586e0dac50fSopenharmony_ci} 587e0dac50fSopenharmony_ci/** 588e0dac50fSopenharmony_ci * @tc.name: SetRequestedOrientation01 589e0dac50fSopenharmony_ci * @tc.desc: SetRequestedOrientation & GetRequestedOrientation 590e0dac50fSopenharmony_ci * @tc.type: FUNC 591e0dac50fSopenharmony_ci */ 592e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetRequestedOrientation01, Function | SmallTest | Level1) 593e0dac50fSopenharmony_ci{ 594e0dac50fSopenharmony_ci std::string windowName = "WindowNode20"; 595e0dac50fSopenharmony_ci auto property = CreateWindowProperty(20, windowName); 596e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 597e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 598e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 599e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 600e0dac50fSopenharmony_ci ASSERT_EQ(Orientation::UNSPECIFIED, windowNode->GetRequestedOrientation()); 601e0dac50fSopenharmony_ci windowNode->SetRequestedOrientation(Orientation::REVERSE_VERTICAL); 602e0dac50fSopenharmony_ci ASSERT_EQ(Orientation::REVERSE_VERTICAL, windowNode->GetRequestedOrientation()); 603e0dac50fSopenharmony_ci} 604e0dac50fSopenharmony_ci/** 605e0dac50fSopenharmony_ci * @tc.name: SetShowingDisplays01 606e0dac50fSopenharmony_ci * @tc.desc: SetShowingDisplays & GetShowingDisplays 607e0dac50fSopenharmony_ci * @tc.type: FUNC 608e0dac50fSopenharmony_ci */ 609e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetShowingDisplays01, Function | SmallTest | Level1) 610e0dac50fSopenharmony_ci{ 611e0dac50fSopenharmony_ci std::string windowName = "WindowNode21"; 612e0dac50fSopenharmony_ci auto property = CreateWindowProperty(21, windowName); 613e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 614e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 615e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 616e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 617e0dac50fSopenharmony_ci 618e0dac50fSopenharmony_ci auto displays = windowNode->GetShowingDisplays(); 619e0dac50fSopenharmony_ci ASSERT_EQ(true, displays.empty()); 620e0dac50fSopenharmony_ci 621e0dac50fSopenharmony_ci std::vector<DisplayId> emptyDisplayIds; 622e0dac50fSopenharmony_ci windowNode->SetShowingDisplays(emptyDisplayIds); 623e0dac50fSopenharmony_ci ASSERT_EQ(true, windowNode->GetShowingDisplays().empty()); 624e0dac50fSopenharmony_ci 625e0dac50fSopenharmony_ci displays.push_back(static_cast<DisplayId>(0)); 626e0dac50fSopenharmony_ci windowNode->SetShowingDisplays(displays); 627e0dac50fSopenharmony_ci ASSERT_EQ(1, windowNode->GetShowingDisplays().size()); 628e0dac50fSopenharmony_ci} 629e0dac50fSopenharmony_ci/** 630e0dac50fSopenharmony_ci * @tc.name: SetModeSupportInfo01 631e0dac50fSopenharmony_ci * @tc.desc: SetModeSupportInfo & GetModeSupportInfo 632e0dac50fSopenharmony_ci * @tc.type: FUNC 633e0dac50fSopenharmony_ci */ 634e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetModeSupportInfo01, Function | SmallTest | Level1) 635e0dac50fSopenharmony_ci{ 636e0dac50fSopenharmony_ci std::string windowName = "WindowNode22"; 637e0dac50fSopenharmony_ci auto property = CreateWindowProperty(22, windowName); 638e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 639e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 640e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 641e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 642e0dac50fSopenharmony_ci ASSERT_EQ(WindowModeSupport::WINDOW_MODE_SUPPORT_ALL, windowNode->GetModeSupportInfo()); 643e0dac50fSopenharmony_ci windowNode->SetModeSupportInfo(WindowModeSupport::WINDOW_MODE_SUPPORT_FULLSCREEN); 644e0dac50fSopenharmony_ci ASSERT_EQ(WindowModeSupport::WINDOW_MODE_SUPPORT_FULLSCREEN, windowNode->GetModeSupportInfo()); 645e0dac50fSopenharmony_ci} 646e0dac50fSopenharmony_ci/** 647e0dac50fSopenharmony_ci * @tc.name: SetDragType01 648e0dac50fSopenharmony_ci * @tc.desc: SetDragType & GetDragType 649e0dac50fSopenharmony_ci * @tc.type: FUNC 650e0dac50fSopenharmony_ci */ 651e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetDragType01, Function | SmallTest | Level1) 652e0dac50fSopenharmony_ci{ 653e0dac50fSopenharmony_ci std::string windowName = "WindowNode23"; 654e0dac50fSopenharmony_ci auto property = CreateWindowProperty(23, windowName); 655e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 656e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 657e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 658e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 659e0dac50fSopenharmony_ci ASSERT_EQ(DragType::DRAG_UNDEFINED, windowNode->GetDragType()); 660e0dac50fSopenharmony_ci windowNode->SetDragType(DragType::DRAG_BOTTOM_OR_TOP); 661e0dac50fSopenharmony_ci ASSERT_EQ(DragType::DRAG_BOTTOM_OR_TOP, windowNode->GetDragType()); 662e0dac50fSopenharmony_ci} 663e0dac50fSopenharmony_ci/** 664e0dac50fSopenharmony_ci * @tc.name: SetOriginRect01 665e0dac50fSopenharmony_ci * @tc.desc: SetOriginRect & GetOriginRect 666e0dac50fSopenharmony_ci * @tc.type: FUNC 667e0dac50fSopenharmony_ci */ 668e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetOriginRect01, Function | SmallTest | Level1) 669e0dac50fSopenharmony_ci{ 670e0dac50fSopenharmony_ci std::string windowName = "WindowNode24"; 671e0dac50fSopenharmony_ci auto property = CreateWindowProperty(24, windowName); 672e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 673e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 674e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 675e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 676e0dac50fSopenharmony_ci auto defaultRect = windowNode->GetOriginRect(); 677e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultRect.posX_); 678e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultRect.posX_); 679e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultRect.width_); 680e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultRect.height_); 681e0dac50fSopenharmony_ci 682e0dac50fSopenharmony_ci Rect testRect = { 10, 10, 150, 150 }; 683e0dac50fSopenharmony_ci windowNode->SetOriginRect(testRect); 684e0dac50fSopenharmony_ci auto resultRect = windowNode->GetOriginRect(); 685e0dac50fSopenharmony_ci ASSERT_EQ(testRect, resultRect); 686e0dac50fSopenharmony_ci} 687e0dac50fSopenharmony_ci/** 688e0dac50fSopenharmony_ci * @tc.name: SetTouchHotAreas01 689e0dac50fSopenharmony_ci * @tc.desc: SetTouchHotAreas & GetTouchHotAreas 690e0dac50fSopenharmony_ci * @tc.type: FUNC 691e0dac50fSopenharmony_ci */ 692e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetTouchHotAreas01, Function | SmallTest | Level1) 693e0dac50fSopenharmony_ci{ 694e0dac50fSopenharmony_ci std::string windowName = "WindowNode25"; 695e0dac50fSopenharmony_ci auto property = CreateWindowProperty(25, windowName); 696e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 697e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 698e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 699e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 700e0dac50fSopenharmony_ci std::vector<Rect> testRects; 701e0dac50fSopenharmony_ci windowNode->GetTouchHotAreas(testRects); 702e0dac50fSopenharmony_ci ASSERT_EQ(true, testRects.empty()); 703e0dac50fSopenharmony_ci 704e0dac50fSopenharmony_ci Rect rect1 = { 10, 10, 10, 10 }; 705e0dac50fSopenharmony_ci testRects.push_back(rect1); 706e0dac50fSopenharmony_ci windowNode->SetTouchHotAreas(testRects); 707e0dac50fSopenharmony_ci 708e0dac50fSopenharmony_ci std::vector<Rect> resultRect; 709e0dac50fSopenharmony_ci windowNode->GetTouchHotAreas(resultRect); 710e0dac50fSopenharmony_ci ASSERT_EQ(1, resultRect.size()); 711e0dac50fSopenharmony_ci ASSERT_EQ(rect1, resultRect[0]); 712e0dac50fSopenharmony_ci} 713e0dac50fSopenharmony_ci/** 714e0dac50fSopenharmony_ci * @tc.name: SetPointerHotAreas01 715e0dac50fSopenharmony_ci * @tc.desc: SetPointerHotAreas & GetPointerHotAreas 716e0dac50fSopenharmony_ci * @tc.type: FUNC 717e0dac50fSopenharmony_ci */ 718e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetPointerHotAreas01, Function | SmallTest | Level1) 719e0dac50fSopenharmony_ci{ 720e0dac50fSopenharmony_ci std::string windowName = "WindowNode26"; 721e0dac50fSopenharmony_ci auto property = CreateWindowProperty(26, windowName); 722e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 723e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 724e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 725e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 726e0dac50fSopenharmony_ci 727e0dac50fSopenharmony_ci std::vector<Rect> testRects; 728e0dac50fSopenharmony_ci windowNode->GetPointerHotAreas(testRects); 729e0dac50fSopenharmony_ci ASSERT_EQ(true, testRects.empty()); 730e0dac50fSopenharmony_ci 731e0dac50fSopenharmony_ci Rect rect1 = { 10, 10, 10, 10 }; 732e0dac50fSopenharmony_ci testRects.push_back(rect1); 733e0dac50fSopenharmony_ci windowNode->SetPointerHotAreas(testRects); 734e0dac50fSopenharmony_ci std::vector<Rect> resultRect; 735e0dac50fSopenharmony_ci windowNode->GetPointerHotAreas(resultRect); 736e0dac50fSopenharmony_ci ASSERT_EQ(1, resultRect.size()); 737e0dac50fSopenharmony_ci ASSERT_EQ(rect1, resultRect[0]); 738e0dac50fSopenharmony_ci} 739e0dac50fSopenharmony_ci/** 740e0dac50fSopenharmony_ci * @tc.name: SetPointerHotAreas01 741e0dac50fSopenharmony_ci * @tc.desc: SetWindowSizeLimits & GetWindowSizeLimits 742e0dac50fSopenharmony_ci * @tc.type: FUNC 743e0dac50fSopenharmony_ci */ 744e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetWindowSizeLimits01, Function | SmallTest | Level1) 745e0dac50fSopenharmony_ci{ 746e0dac50fSopenharmony_ci std::string windowName = "WindowNode27"; 747e0dac50fSopenharmony_ci auto property = CreateWindowProperty(27, windowName); 748e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 749e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 750e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 751e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 752e0dac50fSopenharmony_ci auto defaultValue = windowNode->GetWindowSizeLimits(); 753e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultValue.minWidth_); 754e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultValue.minHeight_); 755e0dac50fSopenharmony_ci ASSERT_EQ(0.0f, defaultValue.minRatio_); 756e0dac50fSopenharmony_ci ASSERT_EQ(UINT32_MAX, defaultValue.maxWidth_); 757e0dac50fSopenharmony_ci ASSERT_EQ(UINT32_MAX, defaultValue.maxHeight_); 758e0dac50fSopenharmony_ci ASSERT_EQ(FLT_MAX, defaultValue.maxRatio_); 759e0dac50fSopenharmony_ci 760e0dac50fSopenharmony_ci WindowLimits testValue = { 200, 200, 50, 50, 2.0f, 2.0f }; 761e0dac50fSopenharmony_ci windowNode->SetWindowSizeLimits(testValue); 762e0dac50fSopenharmony_ci 763e0dac50fSopenharmony_ci auto resultValue = windowNode->GetWindowSizeLimits(); 764e0dac50fSopenharmony_ci ASSERT_EQ(testValue.minWidth_, resultValue.minWidth_); 765e0dac50fSopenharmony_ci ASSERT_EQ(testValue.minHeight_, resultValue.minHeight_); 766e0dac50fSopenharmony_ci ASSERT_EQ(testValue.minRatio_, resultValue.minRatio_); 767e0dac50fSopenharmony_ci ASSERT_EQ(testValue.maxWidth_, resultValue.maxWidth_); 768e0dac50fSopenharmony_ci ASSERT_EQ(testValue.maxHeight_, resultValue.maxHeight_); 769e0dac50fSopenharmony_ci ASSERT_EQ(testValue.maxRatio_, resultValue.maxRatio_); 770e0dac50fSopenharmony_ci} 771e0dac50fSopenharmony_ci/** 772e0dac50fSopenharmony_ci * @tc.name: SetWindowUpdatedSizeLimits01 773e0dac50fSopenharmony_ci * @tc.desc: SetWindowUpdatedSizeLimits & GetWindowUpdatedSizeLimits 774e0dac50fSopenharmony_ci * @tc.type: FUNC 775e0dac50fSopenharmony_ci */ 776e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetWindowUpdatedSizeLimits01, Function | SmallTest | Level1) 777e0dac50fSopenharmony_ci{ 778e0dac50fSopenharmony_ci std::string windowName = "WindowNode28"; 779e0dac50fSopenharmony_ci auto property = CreateWindowProperty(28, windowName); 780e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 781e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 782e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 783e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 784e0dac50fSopenharmony_ci auto defaultValue = windowNode->GetWindowUpdatedSizeLimits(); 785e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultValue.minWidth_); 786e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultValue.minHeight_); 787e0dac50fSopenharmony_ci ASSERT_EQ(0.0f, defaultValue.minRatio_); 788e0dac50fSopenharmony_ci ASSERT_EQ(UINT32_MAX, defaultValue.maxWidth_); 789e0dac50fSopenharmony_ci ASSERT_EQ(UINT32_MAX, defaultValue.maxHeight_); 790e0dac50fSopenharmony_ci ASSERT_EQ(FLT_MAX, defaultValue.maxRatio_); 791e0dac50fSopenharmony_ci 792e0dac50fSopenharmony_ci WindowLimits testValue = { 200, 200, 50, 50, 2.0f, 2.0f }; 793e0dac50fSopenharmony_ci windowNode->SetWindowUpdatedSizeLimits(testValue); 794e0dac50fSopenharmony_ci 795e0dac50fSopenharmony_ci auto resultValue = windowNode->GetWindowUpdatedSizeLimits(); 796e0dac50fSopenharmony_ci ASSERT_EQ(testValue.minWidth_, resultValue.minWidth_); 797e0dac50fSopenharmony_ci ASSERT_EQ(testValue.minHeight_, resultValue.minHeight_); 798e0dac50fSopenharmony_ci ASSERT_EQ(testValue.minRatio_, resultValue.minRatio_); 799e0dac50fSopenharmony_ci ASSERT_EQ(testValue.maxWidth_, resultValue.maxWidth_); 800e0dac50fSopenharmony_ci ASSERT_EQ(testValue.maxHeight_, resultValue.maxHeight_); 801e0dac50fSopenharmony_ci ASSERT_EQ(testValue.maxRatio_, resultValue.maxRatio_); 802e0dac50fSopenharmony_ci} 803e0dac50fSopenharmony_ci/** 804e0dac50fSopenharmony_ci * @tc.name: SetSnapshot01 805e0dac50fSopenharmony_ci * @tc.desc: SetSnapshot & GetSnapshot 806e0dac50fSopenharmony_ci * @tc.type: FUNC 807e0dac50fSopenharmony_ci */ 808e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetSnapshot01, Function | SmallTest | Level1) 809e0dac50fSopenharmony_ci{ 810e0dac50fSopenharmony_ci std::string windowName = "WindowNode29"; 811e0dac50fSopenharmony_ci auto property = CreateWindowProperty(29, windowName); 812e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 813e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 814e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 815e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 816e0dac50fSopenharmony_ci 817e0dac50fSopenharmony_ci auto defaultValue = windowNode->GetSnapshot(); 818e0dac50fSopenharmony_ci ASSERT_EQ(0, defaultValue.use_count()); 819e0dac50fSopenharmony_ci 820e0dac50fSopenharmony_ci Media::InitializationOptions opts; 821e0dac50fSopenharmony_ci opts.size.width = 200; // 200: test width 822e0dac50fSopenharmony_ci opts.size.height = 300; // 300: test height 823e0dac50fSopenharmony_ci opts.pixelFormat = Media::PixelFormat::ARGB_8888; 824e0dac50fSopenharmony_ci opts.alphaType = Media::AlphaType::IMAGE_ALPHA_TYPE_OPAQUE; 825e0dac50fSopenharmony_ci std::unique_ptr<Media::PixelMap> pixelMapPtr = Media::PixelMap::Create(opts); 826e0dac50fSopenharmony_ci std::shared_ptr<Media::PixelMap> pixelMap(pixelMapPtr.release()); 827e0dac50fSopenharmony_ci windowNode->SetSnapshot(pixelMap); 828e0dac50fSopenharmony_ci 829e0dac50fSopenharmony_ci auto resultValue = windowNode->GetSnapshot(); 830e0dac50fSopenharmony_ci ASSERT_EQ(3, resultValue.use_count()); 831e0dac50fSopenharmony_ci} 832e0dac50fSopenharmony_ci/** 833e0dac50fSopenharmony_ci * @tc.name: UpdateZoomTransform01 834e0dac50fSopenharmony_ci * @tc.desc: UpdateZoomTransform & GetZoomTransform 835e0dac50fSopenharmony_ci * @tc.type: FUNC 836e0dac50fSopenharmony_ci */ 837e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, UpdateZoomTransform01, Function | SmallTest | Level1) 838e0dac50fSopenharmony_ci{ 839e0dac50fSopenharmony_ci std::string windowName = "WindowNode30"; 840e0dac50fSopenharmony_ci auto property = CreateWindowProperty(30, windowName); 841e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 842e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 843e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 844e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 845e0dac50fSopenharmony_ci Transform transformData; 846e0dac50fSopenharmony_ci auto defaultValue = windowNode->GetZoomTransform(); 847e0dac50fSopenharmony_ci ASSERT_EQ(transformData, defaultValue); 848e0dac50fSopenharmony_ci 849e0dac50fSopenharmony_ci transformData.pivotX_ = 1.0f; 850e0dac50fSopenharmony_ci transformData.pivotY_ = 1.0f; 851e0dac50fSopenharmony_ci windowNode->UpdateZoomTransform(transformData, false); 852e0dac50fSopenharmony_ci 853e0dac50fSopenharmony_ci auto resultValue = windowNode->GetZoomTransform(); 854e0dac50fSopenharmony_ci ASSERT_EQ(1.0f, resultValue.pivotX_); 855e0dac50fSopenharmony_ci ASSERT_EQ(1.0f, resultValue.pivotY_); 856e0dac50fSopenharmony_ci} 857e0dac50fSopenharmony_ci/** 858e0dac50fSopenharmony_ci * @tc.name: SetTransform01 859e0dac50fSopenharmony_ci * @tc.desc: SetTransform & ComputeTransform 860e0dac50fSopenharmony_ci * @tc.type: FUNC 861e0dac50fSopenharmony_ci */ 862e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, SetTransform01, Function | SmallTest | Level1) 863e0dac50fSopenharmony_ci{ 864e0dac50fSopenharmony_ci std::string windowName = "WindowNode31"; 865e0dac50fSopenharmony_ci auto property = CreateWindowProperty(31, windowName); 866e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 867e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 868e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 869e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 870e0dac50fSopenharmony_ci auto isSameValueMat4 = [](TransformHelper::Matrix4 expectVal, TransformHelper::Matrix4 checkValue) -> bool { 871e0dac50fSopenharmony_ci uint32_t m = 0, n = 0; 872e0dac50fSopenharmony_ci for (uint32_t i = 0; i < 16; i++) { 873e0dac50fSopenharmony_ci m = i / 4; 874e0dac50fSopenharmony_ci n = i % 4; 875e0dac50fSopenharmony_ci if (m > 4 || n > 4 || (expectVal.mat_[m][n] != checkValue.mat_[m][n])) { 876e0dac50fSopenharmony_ci return false; 877e0dac50fSopenharmony_ci } 878e0dac50fSopenharmony_ci } 879e0dac50fSopenharmony_ci return true; 880e0dac50fSopenharmony_ci }; 881e0dac50fSopenharmony_ci 882e0dac50fSopenharmony_ci Transform transformData; 883e0dac50fSopenharmony_ci auto defaultTrans = windowNode->property_->trans_; 884e0dac50fSopenharmony_ci auto defaultWorldTransformMat4 = windowNode->property_->worldTransformMat_; 885e0dac50fSopenharmony_ci ASSERT_EQ(transformData, defaultTrans); 886e0dac50fSopenharmony_ci ASSERT_EQ(true, isSameValueMat4(TransformHelper::Matrix4::Identity, defaultWorldTransformMat4)); 887e0dac50fSopenharmony_ci 888e0dac50fSopenharmony_ci transformData.pivotX_ = 1.0f; 889e0dac50fSopenharmony_ci transformData.pivotY_ = 1.0f; 890e0dac50fSopenharmony_ci transformData.translateX_ = 1.0f; 891e0dac50fSopenharmony_ci transformData.translateY_ = 1.0f; 892e0dac50fSopenharmony_ci windowNode->SetTransform(transformData); 893e0dac50fSopenharmony_ci windowNode->ComputeTransform(); 894e0dac50fSopenharmony_ci 895e0dac50fSopenharmony_ci auto resultTrans = windowNode->property_->trans_; 896e0dac50fSopenharmony_ci auto resultWorldTransformMat4 = windowNode->property_->worldTransformMat_; 897e0dac50fSopenharmony_ci ASSERT_EQ(1.0f, resultTrans.pivotX_); 898e0dac50fSopenharmony_ci ASSERT_EQ(1.0f, resultTrans.pivotY_); 899e0dac50fSopenharmony_ci 900e0dac50fSopenharmony_ci ASSERT_EQ(1.0f, resultWorldTransformMat4.mat_[3][0]); 901e0dac50fSopenharmony_ci ASSERT_EQ(1.0f, resultWorldTransformMat4.mat_[3][1]); 902e0dac50fSopenharmony_ci} 903e0dac50fSopenharmony_ci 904e0dac50fSopenharmony_ci/** 905e0dac50fSopenharmony_ci * @tc.name: GetVisibilityState001 906e0dac50fSopenharmony_ci * @tc.desc: SetVisibilityState & GetVisibilityState 907e0dac50fSopenharmony_ci * @tc.type: FUNC 908e0dac50fSopenharmony_ci */ 909e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, GetVisibilityState001, Function | SmallTest | Level1) 910e0dac50fSopenharmony_ci{ 911e0dac50fSopenharmony_ci std::string windowName = "WindowNode32"; 912e0dac50fSopenharmony_ci auto property = CreateWindowProperty(7, windowName); 913e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 914e0dac50fSopenharmony_ci 915e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 916e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 917e0dac50fSopenharmony_ci windowNode->SetWindowProperty(property); 918e0dac50fSopenharmony_ci 919e0dac50fSopenharmony_ci ASSERT_EQ(windowNode->GetVisibilityState(), WINDOW_VISIBILITY_STATE_NO_OCCLUSION); 920e0dac50fSopenharmony_ci windowNode->SetVisibilityState(WINDOW_VISIBILITY_STATE_PARTICALLY_OCCLUSION); 921e0dac50fSopenharmony_ci ASSERT_EQ(windowNode->GetVisibilityState(), WINDOW_VISIBILITY_STATE_PARTICALLY_OCCLUSION); 922e0dac50fSopenharmony_ci} 923e0dac50fSopenharmony_ci 924e0dac50fSopenharmony_ci/** 925e0dac50fSopenharmony_ci * @tc.name: GetTouchable01 926e0dac50fSopenharmony_ci * @tc.desc: SetTouchable & GetTouchable 927e0dac50fSopenharmony_ci * @tc.type: FUNC 928e0dac50fSopenharmony_ci */ 929e0dac50fSopenharmony_ciHWTEST_F(WindowNodeTest, GetTouchable01, Function | SmallTest | Level1) 930e0dac50fSopenharmony_ci{ 931e0dac50fSopenharmony_ci std::string windowName = "WindowNode33"; 932e0dac50fSopenharmony_ci auto property = CreateWindowProperty(33, windowName); 933e0dac50fSopenharmony_ci ASSERT_NE(nullptr, property); 934e0dac50fSopenharmony_ci sptr<WindowNode> windowNode = new WindowNode(property); 935e0dac50fSopenharmony_ci ASSERT_NE(nullptr, windowNode); 936e0dac50fSopenharmony_ci 937e0dac50fSopenharmony_ci windowNode->SetTouchable(false); 938e0dac50fSopenharmony_ci ASSERT_EQ(false, windowNode->GetTouchable()); 939e0dac50fSopenharmony_ci windowNode->SetTouchable(true); 940e0dac50fSopenharmony_ci ASSERT_EQ(true, windowNode->GetTouchable()); 941e0dac50fSopenharmony_ci} 942e0dac50fSopenharmony_ci} 943e0dac50fSopenharmony_ci} 944e0dac50fSopenharmony_ci}