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_CORE_COMMON_MOCK_INTERACTION_H 17 #define FOUNDATION_ACE_TEST_MOCK_CORE_COMMON_MOCK_INTERACTION_H 18 19 #include "gmock/gmock-function-mocker.h" 20 #include "gmock/gmock.h" 21 22 #include "base/memory/ace_type.h" 23 #include "core/common/interaction/interaction_interface.h" 24 25 namespace OHOS::Ace { 26 class MockInteractionInterface : public InteractionInterface { 27 DECLARE_ACE_TYPE(MockInteractionInterface, InteractionInterface); 28 29 public: 30 MOCK_METHOD(int32_t, UpdateShadowPic, (const ShadowInfoCore& shadowInfo), (override)); 31 32 MOCK_METHOD(int32_t, SetDragWindowVisible, (bool visible), (override)); 33 34 MOCK_METHOD(int32_t, SetMouseDragMonitorState, (bool state), (override)); 35 36 MOCK_METHOD(int32_t, UpdateDragStyle, (DragCursorStyleCore style, const int32_t eventId), (override)); 37 38 MOCK_METHOD(int32_t, UpdatePreviewStyle, (const PreviewStyle& previewStyle), (override)); 39 40 MOCK_METHOD(int32_t, UpdatePreviewStyleWithAnimation, (const PreviewStyle& previewStyle, 41 const PreviewAnimation& animation), (override)); 42 43 MOCK_METHOD(int32_t, StopDrag, (DragDropRet result), (override)); 44 45 MOCK_METHOD(int32_t, GetUdKey, (std::string& udKey), (override)); 46 47 MOCK_METHOD(int32_t, GetShadowOffset, (ShadowOffsetData& shadowOffsetData), (override)); 48 49 MOCK_METHOD(int32_t, GetDragState, (DragState& dragState), (const, override)); 50 51 MOCK_METHOD(int32_t, GetDragSummary, ((std::map<std::string, int64_t>& summary)), (override)); 52 53 MOCK_METHOD(int32_t, GetDragExtraInfo, (std::string& extraInfo), (override)); 54 55 MOCK_METHOD(int32_t, EnterTextEditorArea, (bool enable), (override)); 56 57 MOCK_METHOD(int32_t, AddPrivilege, (), (override)); 58 RegisterCoordinationListener(std::function<void ()> dragOutCallback)59 int32_t RegisterCoordinationListener(std::function<void()> dragOutCallback) override 60 { 61 gDragOutCallback = dragOutCallback; 62 return 1; 63 } 64 StartDrag(const DragDataCore & dragData,std::function<void (const OHOS::Ace::DragNotifyMsg &)> callback)65 int32_t StartDrag(const DragDataCore& dragData, std::function<void(const OHOS::Ace::DragNotifyMsg&)> callback) 66 { 67 gDragData_ = dragData; 68 return gStartDrag; 69 } 70 71 MOCK_METHOD(int32_t, UnRegisterCoordinationListener, (), (override)); 72 73 MOCK_METHOD(int32_t, SetDraggableState, (bool state), (override)); 74 75 MOCK_METHOD(int32_t, GetAppDragSwitchState, (bool& state), (override)); 76 77 MOCK_METHOD(void, SetDraggableStateAsync, (bool state, int64_t downTime), (override)); 78 79 private: 80 std::function<void()> gDragOutCallback = nullptr; 81 int gStartDrag = 0; 82 DragDataCore gDragData_; 83 }; 84 } // namespace OHOS::Ace 85 #endif // FOUNDATION_ACE_TEST_MOCK_CORE_COMMON_MOCK_INTERACTION_H