1e0dac50fSopenharmony_ci/* 2e0dac50fSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License. 5e0dac50fSopenharmony_ci * You may obtain a copy of the License at 6e0dac50fSopenharmony_ci * 7e0dac50fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e0dac50fSopenharmony_ci * 9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and 13e0dac50fSopenharmony_ci * limitations under the License. 14e0dac50fSopenharmony_ci */ 15e0dac50fSopenharmony_ci 16e0dac50fSopenharmony_ci#ifndef OHOS_ROSEN_TEST_COMMON_MOCK_UICONTENT_MOCKER 17e0dac50fSopenharmony_ci#define OHOS_ROSEN_TEST_COMMON_MOCK_UICONTENT_MOCKER 18e0dac50fSopenharmony_ci 19e0dac50fSopenharmony_ci#include "ui_content.h" 20e0dac50fSopenharmony_ci#include "native_engine/native_value.h" 21e0dac50fSopenharmony_ci#include "native_engine/native_engine.h" 22e0dac50fSopenharmony_ci#include <gmock/gmock.h> 23e0dac50fSopenharmony_ci#include "accessibility_element_info.h" 24e0dac50fSopenharmony_cinamespace OHOS { 25e0dac50fSopenharmony_cinamespace Ace { 26e0dac50fSopenharmony_ciclass UIContentMocker : public UIContent { 27e0dac50fSopenharmony_cipublic: 28e0dac50fSopenharmony_ci MOCK_METHOD3(Initialize, UIContentErrorCode(OHOS::Rosen::Window* window, const std::string& url, 29e0dac50fSopenharmony_ci napi_value storage)); 30e0dac50fSopenharmony_ci MOCK_METHOD3(Initialize, UIContentErrorCode(OHOS::Rosen::Window* window, 31e0dac50fSopenharmony_ci const std::shared_ptr<std::vector<uint8_t>>& content, napi_value storage)); 32e0dac50fSopenharmony_ci MOCK_METHOD3(InitializeByName, UIContentErrorCode(OHOS::Rosen::Window* window, const std::string& name, 33e0dac50fSopenharmony_ci napi_value storage)); 34e0dac50fSopenharmony_ci MOCK_METHOD4(Initialize, 35e0dac50fSopenharmony_ci void(OHOS::Rosen::Window* window, const std::string& url, napi_value storage, uint32_t focusWindowID)); 36e0dac50fSopenharmony_ci MOCK_METHOD0(Foreground, void()); 37e0dac50fSopenharmony_ci MOCK_METHOD0(Background, void()); 38e0dac50fSopenharmony_ci MOCK_METHOD0(Focus, void()); 39e0dac50fSopenharmony_ci MOCK_METHOD0(UnFocus, void()); 40e0dac50fSopenharmony_ci MOCK_METHOD0(Destroy, void()); 41e0dac50fSopenharmony_ci MOCK_METHOD1(OnNewWant, void(const OHOS::AAFwk::Want& want)); 42e0dac50fSopenharmony_ci MOCK_METHOD4(Restore, UIContentErrorCode(OHOS::Rosen::Window* window, const std::string& contentInfo, 43e0dac50fSopenharmony_ci napi_value storage, ContentInfoType type)); 44e0dac50fSopenharmony_ci MOCK_CONST_METHOD1(GetContentInfo, std::string(ContentInfoType type)); 45e0dac50fSopenharmony_ci MOCK_METHOD0(DestroyUIDirector, void()); 46e0dac50fSopenharmony_ci MOCK_METHOD0(ProcessBackPressed, bool()); 47e0dac50fSopenharmony_ci MOCK_METHOD1(ProcessPointerEvent, bool(const std::shared_ptr<OHOS::MMI::PointerEvent>& pointerEvent)); 48e0dac50fSopenharmony_ci MOCK_METHOD2(ProcessKeyEvent, bool(const std::shared_ptr<OHOS::MMI::KeyEvent>& keyEvent, bool isPreIme)); 49e0dac50fSopenharmony_ci MOCK_METHOD1(ProcessAxisEvent, bool(const std::shared_ptr<OHOS::MMI::AxisEvent>& axisEvent)); 50e0dac50fSopenharmony_ci MOCK_METHOD1(ProcessVsyncEvent, bool(uint64_t timeStampNanos)); 51e0dac50fSopenharmony_ci MOCK_METHOD1(UpdateConfiguration, void(const std::shared_ptr<OHOS::AppExecFwk::Configuration>& config)); 52e0dac50fSopenharmony_ci MOCK_METHOD4(UpdateViewportConfig, void(const ViewportConfig& config, OHOS::Rosen::WindowSizeChangeReason reason, 53e0dac50fSopenharmony_ci const std::shared_ptr<OHOS::Rosen::RSTransaction>& rsTransaction, 54e0dac50fSopenharmony_ci const std::map<OHOS::Rosen::AvoidAreaType, OHOS::Rosen::AvoidArea>& avoidAreas)); 55e0dac50fSopenharmony_ci MOCK_METHOD2(UpdateWindowMode, void(OHOS::Rosen::WindowMode mode, bool hasDeco)); 56e0dac50fSopenharmony_ci MOCK_METHOD4(HideWindowTitleButton, void(bool hideSplit, bool hideMaximize, bool hideMinimize, bool hideClose)); 57e0dac50fSopenharmony_ci MOCK_METHOD2(UpdateTitleInTargetPos, void(bool isShow, int32_t height)); 58e0dac50fSopenharmony_ci MOCK_METHOD0(GetBackgroundColor, uint32_t()); 59e0dac50fSopenharmony_ci MOCK_METHOD1(SetBackgroundColor, void(uint32_t color)); 60e0dac50fSopenharmony_ci MOCK_METHOD2(SetWindowContainerColor, void(uint32_t activeColor, uint32_t inactiveColor)); 61e0dac50fSopenharmony_ci MOCK_METHOD2(DumpInfo, void(const std::vector<std::string>& params, std::vector<std::string>& info)); 62e0dac50fSopenharmony_ci MOCK_METHOD1(SetNextFrameLayoutCallback, void(std::function<void()>&& callback)); 63e0dac50fSopenharmony_ci MOCK_METHOD1(NotifyMemoryLevel, void(int32_t level)); 64e0dac50fSopenharmony_ci MOCK_METHOD1(SetAppWindowTitle, void(const std::string& title)); 65e0dac50fSopenharmony_ci MOCK_METHOD1(SetAppWindowIcon, void(const std::shared_ptr<Media::PixelMap>& pixelMap)); 66e0dac50fSopenharmony_ci MOCK_METHOD3(PreInitializeForm, void(OHOS::Rosen::Window* window, const std::string& url, napi_value storage)); 67e0dac50fSopenharmony_ci MOCK_METHOD0(RunFormPage, void()); 68e0dac50fSopenharmony_ci MOCK_METHOD0(GetFormRootNode, std::shared_ptr<Rosen::RSSurfaceNode>()); 69e0dac50fSopenharmony_ci MOCK_METHOD1(UpdateFormData, void(const std::string& data)); 70e0dac50fSopenharmony_ci MOCK_METHOD1(SetFormWidth, void(const float width)); 71e0dac50fSopenharmony_ci MOCK_METHOD1(SetFormHeight, void(const float height)); 72e0dac50fSopenharmony_ci MOCK_METHOD0(GetFormWidth, float()); 73e0dac50fSopenharmony_ci MOCK_METHOD0(GetFormHeight, float()); 74e0dac50fSopenharmony_ci MOCK_METHOD1(SetActionEventHandler, void(std::function<void(const std::string& action)>&& actionCallback)); 75e0dac50fSopenharmony_ci MOCK_METHOD1(SetErrorEventHandler, 76e0dac50fSopenharmony_ci void(std::function<void(const std::string& code, const std::string& msg)>&& actionCallback)); 77e0dac50fSopenharmony_ci MOCK_METHOD1(SetIgnoreViewSafeArea, void(bool ignoreViewSafeArea)); 78e0dac50fSopenharmony_ci MOCK_METHOD1(SetIsFocusActive, void(bool isFocusActive)); 79e0dac50fSopenharmony_ci MOCK_METHOD3(CreateModalUIExtension, int32_t(const AAFwk::Want& want, 80e0dac50fSopenharmony_ci const ModalUIExtensionCallbacks& callbacks, const ModalUIExtensionConfig& config)); 81e0dac50fSopenharmony_ci MOCK_METHOD1(CloseModalUIExtension, void(int32_t sessionId)); 82e0dac50fSopenharmony_ci MOCK_METHOD1(SetParentToken, void(sptr<IRemoteObject> token)); 83e0dac50fSopenharmony_ci MOCK_METHOD0(GetParentToken, sptr<IRemoteObject>()); 84e0dac50fSopenharmony_ci 85e0dac50fSopenharmony_ci MOCK_METHOD4( 86e0dac50fSopenharmony_ci SearchElementInfoByAccessibilityId, void(int64_t elementId, 87e0dac50fSopenharmony_ci int32_t mode, int64_t baseParent, std::list<Accessibility::AccessibilityElementInfo>& output)); 88e0dac50fSopenharmony_ci MOCK_METHOD4( 89e0dac50fSopenharmony_ci SearchElementInfosByText, void(int64_t elementId, const std::string& text, 90e0dac50fSopenharmony_ci int64_t baseParent, std::list<Accessibility::AccessibilityElementInfo>& output)); 91e0dac50fSopenharmony_ci MOCK_METHOD4( 92e0dac50fSopenharmony_ci FindFocusedElementInfo, void(int64_t elementId, 93e0dac50fSopenharmony_ci int32_t focusType, int64_t baseParent, Accessibility::AccessibilityElementInfo& output)); 94e0dac50fSopenharmony_ci MOCK_METHOD4( 95e0dac50fSopenharmony_ci FocusMoveSearch, void(int64_t elementId, int32_t direction, int64_t baseParent, 96e0dac50fSopenharmony_ci Accessibility::AccessibilityElementInfo& output)); 97e0dac50fSopenharmony_ci MOCK_METHOD1(GetAppPaintSize, void(OHOS::Rosen::Rect& drawableRect)); 98e0dac50fSopenharmony_ci MOCK_METHOD2(SetContainerModalTitleVisible, void(bool customTitleSettedShow, bool floatingTitleSettedShow)); 99e0dac50fSopenharmony_ci MOCK_METHOD1(SetContainerModalTitleHeight, void(int height)); 100e0dac50fSopenharmony_ci MOCK_METHOD0(GetContainerModalTitleHeight, int()); 101e0dac50fSopenharmony_ci MOCK_METHOD2(GetContainerModalButtonsRect, bool(OHOS::Rosen::Rect& containerModal, OHOS::Rosen::Rect& buttons)); 102e0dac50fSopenharmony_ci MOCK_METHOD1(SubscribeContainerModalButtonsRectChange, 103e0dac50fSopenharmony_ci void(std::function<void(OHOS::Rosen::Rect& containerModal, OHOS::Rosen::Rect& buttons)>&& callback)); 104e0dac50fSopenharmony_ci MOCK_METHOD1(UpdateTransform, void(const OHOS::Rosen::Transform& transform)); 105e0dac50fSopenharmony_ci MOCK_METHOD1(SetUIExtensionSubWindow, void(bool isUIExtensionSubWindow)); 106e0dac50fSopenharmony_ci MOCK_METHOD1(SetUIExtensionAbilityProcess, void(bool isUIExtensionAbilityProcess)); 107e0dac50fSopenharmony_ci MOCK_METHOD0(IsUIExtensionSubWindow, bool()); 108e0dac50fSopenharmony_ci MOCK_METHOD0(IsUIExtensionAbilityProcess, bool()); 109e0dac50fSopenharmony_ci MOCK_METHOD4(NotifyExecuteAction, bool(int64_t elementId, const std::map<std::string, std::string>& actionAguments, 110e0dac50fSopenharmony_ci int32_t action, int64_t baseParent)); 111e0dac50fSopenharmony_ci MOCK_METHOD2(SetForceSplitEnable, void(bool isForceSplit, const std::string& homePage)); 112e0dac50fSopenharmony_ci}; 113e0dac50fSopenharmony_ci} // namespace Ace 114e0dac50fSopenharmony_ci} // namespace OHOS 115e0dac50fSopenharmony_ci 116e0dac50fSopenharmony_ci#endif 117