/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "window_proxy.h" #include "window_agent.h" #include "window_manager_hilog.h" using namespace testing; using namespace testing::ext; namespace OHOS { namespace Rosen { namespace { std::string g_errLog; void MyLogCallback(const LogType type, const LogLevel level, const unsigned int domain, const char *tag, const char *msg) { g_errLog = msg; } class WindowProxyTest : public testing::Test { public: static void SetUpTestCase(); static void TearDownTestCase(); void SetUp() override; void TearDown() override; sptr mockWindowAgent_; sptr windowProxy_; }; void WindowProxyTest::SetUpTestCase() {} void WindowProxyTest::TearDownTestCase() {} void WindowProxyTest::SetUp() { sptr option = new WindowOption(); sptr window = new WindowImpl(option); mockWindowAgent_ = new WindowAgent(window); windowProxy_ = new WindowProxy(mockWindowAgent_); } void WindowProxyTest::TearDown() {} namespace { /** * @tc.name: UpdateWindowRect01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateWindowRect01, TestSize.Level1) { WMError err = windowProxy_->UpdateWindowRect(Rect{ 0, 0, 0, 0 }, false, WindowSizeChangeReason::HIDE); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateWindowMode01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateWindowMode01, TestSize.Level1) { WMError err = windowProxy_->UpdateWindowMode(WindowMode::WINDOW_MODE_FLOATING); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateWindowModeSupportType01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateWindowModeSupportType01, TestSize.Level1) { WMError err = windowProxy_->UpdateWindowModeSupportType(WindowModeSupport::WINDOW_MODE_SUPPORT_SPLIT_PRIMARY); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateFocusStatus01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateFocusStatus01, TestSize.Level1) { WMError err = windowProxy_->UpdateFocusStatus(false); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateAvoidArea01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateAvoidArea01, TestSize.Level1) { const sptr& avoidArea = new AvoidArea(); WMError err = windowProxy_->UpdateAvoidArea(avoidArea, AvoidAreaType::TYPE_SYSTEM); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateWindowState01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateWindowState01, TestSize.Level1) { WMError err = windowProxy_->UpdateWindowState(WindowState::STATE_BOTTOM); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateWindowDragInfo01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateWindowDragInfo01, TestSize.Level1) { PointInfo point; point.x = 1; point.y = 2; WMError err = windowProxy_->UpdateWindowDragInfo(point, DragEvent::DRAG_EVENT_MOVE); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateDisplayId01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateDisplayId01, TestSize.Level1) { WMError err = windowProxy_->UpdateDisplayId(0, 1); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateOccupiedAreaChangeInfo01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateOccupiedAreaChangeInfo01, TestSize.Level1) { Rect overlapRect = { 0, 0, 0, 0 }; sptr info = new OccupiedAreaChangeInfo(OccupiedAreaType::TYPE_INPUT, overlapRect); WMError err = windowProxy_->UpdateOccupiedAreaChangeInfo(info); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateActiveStatus01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateActiveStatus01, TestSize.Level1) { WMError err = windowProxy_->UpdateActiveStatus(false); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyTouchOutside01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyTouchOutside01, TestSize.Level1) { WMError err = windowProxy_->NotifyTouchOutside(); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: DumpInfo01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, DumpInfo01, TestSize.Level1) { std::vector params; WMError err = windowProxy_->DumpInfo(params); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyDestroy01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyDestroy01, TestSize.Level1) { WMError err = windowProxy_->NotifyDestroy(); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyForeground01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyForeground01, TestSize.Level1) { WMError err = windowProxy_->NotifyForeground(); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyBackground01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyBackground01, TestSize.Level1) { WMError err = windowProxy_->NotifyBackground(); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyWindowClientPointUp01 * @tc.desc: param is nullptr * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyWindowClientPointUp01, TestSize.Level1) { WMError err = windowProxy_->NotifyWindowClientPointUp(nullptr); ASSERT_EQ(err, WMError::WM_ERROR_NULLPTR); } /** * @tc.name: NotifyWindowClientPointUp02 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyWindowClientPointUp02, TestSize.Level1) { auto pointerEvent = MMI::PointerEvent::Create(); WMError err = windowProxy_->NotifyWindowClientPointUp(pointerEvent); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: UpdateZoomTransform01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, UpdateZoomTransform01, TestSize.Level1) { Transform transform; WMError err = windowProxy_->UpdateZoomTransform(transform, false); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: RestoreSplitWindowMode01 * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, RestoreSplitWindowMode01, TestSize.Level1) { WMError err = windowProxy_->RestoreSplitWindowMode(200); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyScreenshot * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyScreenshot, TestSize.Level1) { WMError err = windowProxy_->NotifyScreenshot(); ASSERT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyScreenshotAppEvent * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyScreenshotAppEvent, TestSize.Level1) { WMError err = windowProxy_->NotifyScreenshotAppEvent(ScreenshotEventType::SCROLL_SHOT_START); EXPECT_EQ(err, WMError::WM_OK); } /** * @tc.name: NotifyForegroundInteractiveStatus * @tc.desc: normal function * @tc.type: FUNC */ HWTEST_F(WindowProxyTest, NotifyForegroundInteractiveStatus, TestSize.Level1) { g_errLog.clear(); LOG_SetCallback(MyLogCallback); ASSERT_NE(windowProxy_, nullptr); bool interactive = false; windowProxy_->NotifyForegroundInteractiveStatus(interactive); EXPECT_FALSE(g_errLog.find("remote is null") != std::string::npos); LOG_SetCallback(nullptr); } } } // namespace } // namespace Rosen } // namespace OHOS