1 /* 2 * Copyright (c) 2024 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 MOCK_WINDOW_H 17 #define MOCK_WINDOW_H 18 19 #include "window.h" 20 #include <gmock/gmock.h> 21 22 namespace OHOS { 23 namespace Rosen { 24 class MockWindowChangeListener : public IWindowChangeListener { 25 public: 26 MOCK_METHOD3(OnSizeChange, void(Rect rect, WindowSizeChangeReason reason, 27 const std::shared_ptr<RSTransaction>& rsTransaction)); 28 MOCK_METHOD2(OnModeChange, void(WindowMode, bool)); 29 }; 30 31 class MockWindowLifeCycleListener : public IWindowLifeCycle { 32 public: 33 MOCK_METHOD0(AfterForeground, void(void)); 34 MOCK_METHOD0(AfterBackground, void(void)); 35 MOCK_METHOD0(AfterFocused, void(void)); 36 MOCK_METHOD0(AfterUnfocused, void(void)); 37 MOCK_METHOD1(ForegroundFailed, void(int32_t)); 38 MOCK_METHOD1(BackgroundFailed, void(int32_t)); 39 MOCK_METHOD0(AfterActive, void(void)); 40 MOCK_METHOD0(AfterInactive, void(void)); 41 MOCK_METHOD0(AfterResumed, void(void)); 42 MOCK_METHOD0(AfterPaused, void(void)); 43 MOCK_METHOD0(AfterDestroyed, void(void)); 44 MOCK_METHOD0(AfterDidForeground, void(void)); 45 MOCK_METHOD0(AfterDidBackground, void(void)); 46 }; 47 48 class MockAvoidAreaChangedListener : public IAvoidAreaChangedListener { 49 public: 50 MOCK_METHOD2(OnAvoidAreaChanged, void(const AvoidArea avoidArea, AvoidAreaType type)); 51 }; 52 53 class MockTouchOutsideListener : public ITouchOutsideListener { 54 public: 55 MOCK_CONST_METHOD0(OnTouchOutside, void()); 56 }; 57 58 class MockWindowStatusChangeListener : public IWindowStatusChangeListener { 59 public: 60 MOCK_METHOD1(OnWindowStatusChange, void(WindowStatus status)); 61 }; 62 63 class MockIOccupiedAreaChangeListener : public IOccupiedAreaChangeListener { 64 public: 65 MOCK_METHOD2(OnSizeChange, void(const sptr<OccupiedAreaChangeInfo>& info, 66 const std::shared_ptr<RSTransaction>& rsTransaction)); 67 }; 68 69 class MockIKeyboardDidShowListener : public IKeyboardDidShowListener { 70 public: 71 MOCK_METHOD0(OnKeyboardShow, void()); 72 }; 73 74 class MockIKeyboardDidHideListener : public IKeyboardDidHideListener { 75 public: 76 MOCK_METHOD0(OnKeyboardHide, void()); 77 }; 78 79 class MockInputEventConsumer : public IInputEventConsumer { 80 public: 81 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::KeyEvent>&)); 82 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::PointerEvent>&)); 83 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::AxisEvent>&)); 84 }; 85 86 class MockWindowNoInteractionListener : public IWindowNoInteractionListener { 87 public: 88 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 89 MOCK_METHOD1(SetTimeout, void(int64_t)); 90 MOCK_CONST_METHOD0(GetTimeout, int64_t()); 91 }; 92 93 class MockWindowTitleButtonRectChangedListener : public IWindowTitleButtonRectChangedListener { 94 public: 95 MOCK_METHOD1(OnWindowTitleButtonRectChanged, void(const TitleButtonRect&)); 96 }; 97 98 class MockWindowRectChangeListener : public IWindowRectChangeListener { 99 public: 100 MOCK_METHOD2(OnRectChange, void(Rect rect, WindowSizeChangeReason reason)); 101 }; 102 103 class MockIAceAbilityHandler : public IAceAbilityHandler { 104 public: 105 MOCK_METHOD1(SetBackgroundColor, void(uint32_t color)); 106 MOCK_METHOD0(GetBackgroundColor, uint32_t()); 107 }; 108 109 class MockIDisplayMoveListener : public IDisplayMoveListener { 110 public: 111 MOCK_METHOD2(OnDisplayMove, void(DisplayId from, DisplayId to)); 112 }; 113 114 class MockIWindowNoInteractionListener : public IWindowNoInteractionListener { 115 public: 116 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 117 }; 118 119 class MockIDialogDeathRecipientListener : public IDialogDeathRecipientListener { 120 public: 121 MOCK_CONST_METHOD0(OnDialogDeathRecipient, void()); 122 }; 123 124 class MockIDialogTargetTouchListener : public IDialogTargetTouchListener { 125 public: 126 MOCK_CONST_METHOD0(OnDialogTargetTouch, void()); 127 }; 128 129 class MockIScreenshotListener : public IScreenshotListener { 130 public: 131 MOCK_METHOD0(OnScreenshot, void()); 132 }; 133 134 class MockISubWindowCloseListener : public ISubWindowCloseListener { 135 public: 136 MOCK_METHOD1(OnSubWindowClose, void(bool&)); 137 }; 138 139 class MockIMainWindowCloseListener : public IMainWindowCloseListener { 140 public: 141 MOCK_METHOD1(OnMainWindowClose, void(bool&)); 142 }; 143 144 class MockIWindowWillCloseListener : public IWindowWillCloseListener { 145 public: 146 MOCK_METHOD1(OnWindowWillClose, void(sptr<Window> window)); 147 }; 148 149 class MockISwitchFreeMultiWindowListener : public ISwitchFreeMultiWindowListener { 150 public: 151 MOCK_METHOD1(OnSwitchFreeMultiWindow, void(bool)); 152 }; 153 154 class MockIWindowCrossAxisListener : public IWindowCrossAxisListener { 155 public: 156 MOCK_METHOD1(OnCrossAxisChange, void(CrossAxisState)); 157 }; 158 } // Rosen 159 } // OHOS 160 161 #endif