1 /* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef FOUNDATION_ACE_TEST_MOCK_BASE_MOCK_SUBWINDOW_H 17 #define FOUNDATION_ACE_TEST_MOCK_BASE_MOCK_SUBWINDOW_H 18 19 #include "gmock/gmock.h" 20 21 #include "base/subwindow/subwindow.h" 22 23 namespace OHOS::Ace { 24 class ACE_EXPORT MockSubwindow : public Subwindow { 25 DECLARE_ACE_TYPE(MockSubwindow, Subwindow); 26 27 public: 28 MOCK_METHOD0(InitContainer, void()); 29 MOCK_METHOD0(ResizeWindow, void()); 30 MOCK_METHOD0(ResizeWindowForMenu, void()); 31 MOCK_METHOD1(SetFollowParentWindowLayoutEnabled, bool(bool enable)); 32 MOCK_METHOD0(GetRect, NG::RectF()); 33 MOCK_METHOD0(UpdatePreviewPosition, void()); 34 MOCK_METHOD1(GetMenuPreviewCenter, bool(NG::OffsetF& offset)); 35 MOCK_METHOD1(ShowMenu, void(const RefPtr<Component>& newComponent)); 36 MOCK_METHOD4(ShowMenuNG, void(const RefPtr<NG::FrameNode> menuNode, const NG::MenuParam& menuParam, 37 const RefPtr<NG::FrameNode>& targetNode, const NG::OffsetF& offset)); 38 MOCK_METHOD5(ShowMenuNG, 39 void(std::function<void()>&& buildFunc, std::function<void()>&& previewBuildFunc, 40 const NG::MenuParam& menuParam, const RefPtr<NG::FrameNode>& targetNode, const NG::OffsetF& offset)); 41 MOCK_METHOD1(ShowPreviewNG, bool(bool isStartDraggingFromSubWindow)); 42 MOCK_METHOD1(SetWindowTouchable, void(bool touchable)); 43 MOCK_METHOD0(HidePreviewNG, void()); 44 MOCK_METHOD2(HideMenuNG, void(const RefPtr<NG::FrameNode>& menu, int32_t targetId)); 45 MOCK_METHOD2(HideMenuNG, void(bool showPreviewAnimation, bool startDrag)); 46 MOCK_METHOD4(UpdateHideMenuOffsetNG, 47 void(const NG::OffsetF& offset, float meunuScale, bool isRedragStart, int32_t menuWrapperId)); 48 MOCK_METHOD2(ContextMenuSwitchDragPreviewAnimationtNG, void(const RefPtr<NG::FrameNode>& dragPreviewNode, 49 const NG::OffsetF& offset)); 50 MOCK_METHOD2(ShowPopup, void(const RefPtr<Component>& newComponent, bool disableTouchEvent)); 51 MOCK_METHOD4(ShowPopupNG, void(int32_t targetId, const NG::PopupInfo& popupInfo, 52 const std::function<void(int32_t)>&& onWillDismiss, bool interactiveDismiss)); 53 MOCK_METHOD1(HidePopupNG, void(int32_t targetId)); 54 MOCK_METHOD5(ShowTipsNG, void(int32_t targetId, const NG::PopupInfo& popupInfo, int32_t appearingTime, 55 int32_t appearingTimeWithContinuousOperation, bool isSubwindow)); 56 MOCK_METHOD2(HideTipsNG, void(int32_t targetId, int32_t disappearingTime)); 57 MOCK_METHOD0(ClearPopupNG, void()); 58 MOCK_METHOD2(GetPopupInfoNG, void(int32_t targetId, NG::PopupInfo& popupInfo)); 59 MOCK_METHOD1(CancelPopup, bool(const std::string& id)); 60 MOCK_METHOD0(CloseMenu, void()); 61 MOCK_METHOD0(ClearMenu, void()); 62 MOCK_METHOD3(ClearMenuNG, void(int32_t targetId, bool inWindow, bool showAnimation)); 63 MOCK_METHOD2( 64 ShowDialogNG, RefPtr<NG::FrameNode>(const DialogProperties& dialogProps, std::function<void()>&& buildFunc)); 65 MOCK_METHOD2(ShowDialogNGWithNode, RefPtr<NG::FrameNode>(const DialogProperties&, const RefPtr<NG::UINode>&)); 66 MOCK_METHOD1(CloseDialogNG, void(const RefPtr<NG::FrameNode>& dialogNode)); 67 MOCK_METHOD0(HideSubWindowNG, void()); 68 MOCK_CONST_METHOD0(GetChildContainerId, int32_t()); 69 MOCK_METHOD0(GetShown, bool()); 70 MOCK_METHOD2(SetHotAreas, void(const std::vector<Rect>& rects, int32_t overlayId)); 71 MOCK_CONST_METHOD0(GetParentWindowRect, Rect()); 72 MOCK_CONST_METHOD0(GetUIExtensionHostWindowRect, Rect()); 73 MOCK_CONST_METHOD0(GetFoldExpandAvailableRect, Rect()); 74 MOCK_CONST_METHOD0(CheckHostWindowStatus, bool()); 75 MOCK_METHOD0(ClearToast, void()); 76 MOCK_METHOD2(ShowToast, void(const NG::ToastInfo& toastInfo, std::function<void(int32_t)>&& callback)); 77 MOCK_METHOD2(CloseToast, void(int32_t toastId, std::function<void(int32_t)>&& callback)); 78 MOCK_METHOD6(ShowDialog, 79 void(const std::string& title, const std::string& message, const std::vector<ButtonInfo>& buttons, 80 bool autoCancel, std::function<void(int32_t, int32_t)>&& callback, const std::set<std::string>& callbacks)); 81 MOCK_METHOD4(ShowDialog, 82 void(const PromptDialogAttr& dialogAttr, const std::vector<ButtonInfo>& buttons, 83 std::function<void(int32_t, int32_t)>&& callback, const std::set<std::string>& callbacks)); 84 MOCK_METHOD3(ShowActionMenu, void(const std::string& title, const std::vector<ButtonInfo>& button, 85 std::function<void(int32_t, int32_t)>&& callback)); 86 MOCK_METHOD1(CloseDialog, void(int32_t instanceId)); 87 MOCK_METHOD0(GetOverlayManager, const RefPtr<NG::OverlayManager>()); 88 MOCK_METHOD0(RequestFocus, void()); 89 MOCK_METHOD0(IsFocused, bool()); 90 MOCK_METHOD2(OpenCustomDialog, void(const PromptDialogAttr& dialogAttr, std::function<void(int32_t)>&& callback)); 91 MOCK_METHOD1(CloseCustomDialog, void(const int32_t dialogId)); 92 MOCK_METHOD2(CloseCustomDialog, void(const WeakPtr<NG::UINode>& node, std::function<void(int32_t)> &&callback)); 93 MOCK_METHOD2( 94 OpenCustomDialogNG, void(const DialogProperties& dialogProps, std::function<void(int32_t)>&& callback)); 95 MOCK_METHOD1(CloseCustomDialogNG, void(int32_t dialogId)); 96 MOCK_METHOD2(CloseCustomDialogNG, void(const WeakPtr<NG::UINode>& node, std::function<void(int32_t)>&& callback)); 97 MOCK_METHOD3(UpdateCustomDialogNG, void(const WeakPtr<NG::UINode>& node, const DialogProperties& dialogProps, 98 std::function<void(int32_t)>&& callback)); 99 MOCK_METHOD0(ResizeWindowForFoldStatus, void()); 100 MOCK_METHOD1(ResizeWindowForFoldStatus, void(int32_t parentContainerId)); 101 MOCK_METHOD0(MarkDirtyDialogSafeArea, void()); 102 MOCK_METHOD0(Close, bool()); 103 MOCK_CONST_METHOD0(IsFreeMultiWindow, bool()); 104 MOCK_METHOD1(OnFreeMultiWindowSwitch, void(bool enable)); 105 MOCK_METHOD1(RegisterFreeMultiWindowSwitchCallback, int32_t(std::function<void(bool)>&& callback)); 106 MOCK_METHOD1(UnRegisterFreeMultiWindowSwitchCallback, void(int32_t callbackId)); 107 MOCK_METHOD1(SetRect, void(const NG::RectF& rect)); 108 MOCK_METHOD0(IsToastSubWindow, bool()); 109 MOCK_METHOD0(DestroyWindow, void()); 110 MOCK_METHOD0(ResizeDialogSubwindow, void()); 111 MOCK_METHOD0(GetDisplayId, uint64_t()); 112 MOCK_METHOD1(IsSameDisplayWithParentWindow, bool(bool useInitializedId)); 113 MOCK_METHOD1(ShowSelectOverlay, bool(const RefPtr<NG::FrameNode>& overlayNode)); ShowBindSheetNG(bool isShow,std::function<void (const std::string &)> && callback,std::function<RefPtr<NG::UINode> ()> && buildNodeFunc,std::function<RefPtr<NG::UINode> ()> && buildtitleNodeFunc,NG::SheetStyle & sheetStyle,std::function<void ()> && onAppear,std::function<void ()> && onDisappear,std::function<void ()> && shouldDismiss,std::function<void (const int32_t)> && onWillDismiss,std::function<void ()> && onWillAppear,std::function<void ()> && onWillDisappear,std::function<void (const float)> && onHeightDidChange,std::function<void (const float)> && onDetentsDidChange,std::function<void (const float)> && onWidthDidChange,std::function<void (const float)> && onTypeDidChange,std::function<void ()> && sheetSpringBack,const RefPtr<NG::FrameNode> & targetNode)114 void ShowBindSheetNG(bool isShow, std::function<void(const std::string&)>&& callback, 115 std::function<RefPtr<NG::UINode>()>&& buildNodeFunc, std::function<RefPtr<NG::UINode>()>&& buildtitleNodeFunc, 116 NG::SheetStyle& sheetStyle, std::function<void()>&& onAppear, std::function<void()>&& onDisappear, 117 std::function<void()>&& shouldDismiss, std::function<void(const int32_t)>&& onWillDismiss, 118 std::function<void()>&& onWillAppear, std::function<void()>&& onWillDisappear, 119 std::function<void(const float)>&& onHeightDidChange, 120 std::function<void(const float)>&& onDetentsDidChange, 121 std::function<void(const float)>&& onWidthDidChange, 122 std::function<void(const float)>&& onTypeDidChange, 123 std::function<void()>&& sheetSpringBack, const RefPtr<NG::FrameNode>& targetNode) { 124 return; 125 } 126 MOCK_METHOD1(HideSheetSubWindow, void(int32_t containerId)); 127 MOCK_METHOD0(GetAttachState, MenuWindowState()); 128 MOCK_METHOD0(GetDetachState, MenuWindowState()); 129 MOCK_CONST_METHOD0(GetWindowRect, NG::RectF()); 130 MOCK_METHOD1(SwitchFollowParentWindowLayout, void(bool freeMultiWindowEnable)); 131 MOCK_METHOD0(NeedFollowParentWindowLayout, bool()); 132 MOCK_METHOD1(AddFollowParentWindowLayoutNode, void(int32_t nodeId)); 133 MOCK_METHOD1(RemoveFollowParentWindowLayoutNode, void(int32_t nodeId)); 134 MOCK_METHOD1(SetNodeId, void(int32_t nodeId)); 135 MOCK_CONST_METHOD0(GetNodeId, int32_t()); 136 MOCK_METHOD3(SetWindowAnchorInfo, void(const NG::OffsetF& offset, SubwindowType type, int32_t nodeId)); 137 #if defined(ACE_STATIC) 138 MOCK_METHOD2(ShowToastStatic, void(const NG::ToastInfo& toastInfo, std::function<void(int32_t)>&& callback)); 139 MOCK_METHOD2(CloseToastStatic, void(int32_t toastId, std::function<void(int32_t)>&& callback)); 140 MOCK_METHOD2(ShowDialogStatic, void(DialogProperties& dialogProps, 141 std::function<void(int32_t, int32_t)>&& callback)); 142 MOCK_METHOD2(ShowActionMenuStatic, void(DialogProperties& dialogProps, 143 std::function<void(int32_t, int32_t)>&& callback)); 144 MOCK_METHOD2(OpenCustomDialogStatic, void(DialogProperties &dialogProps, std::function<void(int32_t)> &&callback)); 145 #endif 146 }; 147 } // namespace OHOS::Ace 148 #endif // FOUNDATION_ACE_TEST_MOCK_BASE_MOCK_SUBWINDOW_H 149