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 #ifndef MOCK_WINDOW_H 16 #define MOCK_WINDOW_H 17 18 #include "window.h" 19 #include <gmock/gmock.h> 20 21 namespace OHOS { 22 namespace Rosen { 23 class MockWindowChangeListener : public IWindowChangeListener { 24 public: 25 MOCK_METHOD3(OnSizeChange, void(Rect rect, WindowSizeChangeReason reason, 26 const std::shared_ptr<RSTransaction>& rsTransaction)); 27 MOCK_METHOD2(OnModeChange, void(WindowMode, bool)); 28 }; 29 30 class MockWindowLifeCycleListener : public IWindowLifeCycle { 31 public: 32 MOCK_METHOD0(AfterForeground, void(void)); 33 MOCK_METHOD0(AfterBackground, void(void)); 34 MOCK_METHOD0(AfterFocused, void(void)); 35 MOCK_METHOD0(AfterUnfocused, void(void)); 36 MOCK_METHOD1(ForegroundFailed, void(int32_t)); 37 MOCK_METHOD1(BackgroundFailed, void(int32_t)); 38 MOCK_METHOD0(AfterActive, void(void)); 39 MOCK_METHOD0(AfterInactive, void(void)); 40 MOCK_METHOD0(AfterResumed, void(void)); 41 MOCK_METHOD0(AfterPaused, void(void)); 42 MOCK_METHOD0(AfterDestroyed, void(void)); 43 }; 44 45 class MockAvoidAreaChangedListener : public IAvoidAreaChangedListener { 46 public: 47 MOCK_METHOD2(OnAvoidAreaChanged, void(const AvoidArea avoidArea, AvoidAreaType type)); 48 }; 49 50 class MockTouchOutsideListener : public ITouchOutsideListener { 51 public: 52 MOCK_CONST_METHOD0(OnTouchOutside, void()); 53 }; 54 55 class MockWindowStatusChangeListener : public IWindowStatusChangeListener { 56 public: 57 MOCK_METHOD1(OnWindowStatusChange, void(WindowStatus status)); 58 }; 59 60 class MockIOccupiedAreaChangeListener : public IOccupiedAreaChangeListener { 61 public: 62 MOCK_METHOD2(OnSizeChange, void(const sptr<OccupiedAreaChangeInfo>& info, 63 const std::shared_ptr<RSTransaction>& rsTransaction)); 64 }; 65 66 class MockInputEventConsumer : public IInputEventConsumer { 67 public: 68 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::KeyEvent>&)); 69 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::PointerEvent>&)); 70 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::AxisEvent>&)); 71 }; 72 73 class MockWindowNoInteractionListener : public IWindowNoInteractionListener { 74 public: 75 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 76 MOCK_METHOD1(SetTimeout, void(int64_t)); 77 MOCK_CONST_METHOD0(GetTimeout, int64_t()); 78 }; 79 80 class MockWindowTitleButtonRectChangedListener : public IWindowTitleButtonRectChangedListener { 81 public: 82 MOCK_METHOD1(OnWindowTitleButtonRectChanged, void(const TitleButtonRect&)); 83 }; 84 85 class MockWindowRectChangeListener : public IWindowRectChangeListener { 86 public: 87 MOCK_METHOD2(OnRectChange, void(Rect rect, WindowSizeChangeReason reason)); 88 }; 89 } // Rosen 90 } // OHOS 91 92 #endif