1 /* 2 * Copyright (c) 2022 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_FRAMEWORKS_CORE_PIPELINE_NG_TEST_MOCK_MOCK_FRONTEND_H 17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_PIPELINE_NG_TEST_MOCK_MOCK_FRONTEND_H 18 19 #include <memory> 20 21 #include "gmock/gmock-function-mocker.h" 22 #include "gmock/gmock.h" 23 24 #include "base/memory/ace_type.h" 25 #include "core/common/ace_page.h" 26 #include "core/common/frontend.h" 27 28 namespace OHOS::Ace { 29 class ACE_EXPORT MockFrontend : public Frontend { 30 DECLARE_ACE_TYPE(MockFrontend, Frontend); 31 32 public: 33 MOCK_METHOD(bool, Initialize, (FrontendType type, const RefPtr<TaskExecutor>& taskExecutor), (override)); 34 MOCK_METHOD(void, Destroy, (), (override)); 35 MOCK_METHOD(void, AttachPipelineContext, (const RefPtr<PipelineBase>& context), (override)); 36 MOCK_METHOD(void, SetAssetManager, (const RefPtr<AssetManager>& assetManager), (override)); 37 MOCK_METHOD(UIContentErrorCode, RunPage, (const std::string& url, const std::string& params), (override)); 38 MOCK_METHOD(void, ReplacePage, (const std::string& url, const std::string& params), (override)); 39 MOCK_METHOD(void, PushPage, (const std::string& url, const std::string& params), (override)); 40 MOCK_METHOD(void, AddPage, (const RefPtr<AcePage>& page), (override)); 41 MOCK_METHOD(void, TriggerGarbageCollection, (), (override)); 42 MOCK_METHOD(void, UpdateState, (Frontend::State state), (override)); 43 MOCK_METHOD(RefPtr<AccessibilityManager>, GetAccessibilityManager, (), (const override)); 44 MOCK_METHOD(bool, IsForeground, (), (override)); 45 MOCK_METHOD(RefPtr<AceEventHandler>, GetEventHandler, (), (override)); 46 MOCK_METHOD(void, RebuildAllPages, (), (override)); 47 MOCK_METHOD(void, SetColorMode, (ColorMode colorMode), (override)); 48 MOCK_METHOD(void, CallRouterBack, (), (override)); 49 MOCK_METHOD(void, OnNewWant, (const std::string& data), (override)); 50 MOCK_METHOD(void, OnNewRequest, (const std::string& data), (override)); 51 MOCK_METHOD(void, OnRemoteTerminated, (), (override)); 52 MOCK_METHOD(bool, OnRestoreData, (const std::string& data), (override)); 53 MOCK_METHOD(void, OnSaveData, (std::string & data), (override)); 54 MOCK_METHOD(void, OnMemoryLevel, (const int32_t level), (override)); 55 MOCK_METHOD(void, OnCompleteContinuation, (int32_t code), (override)); 56 MOCK_METHOD(bool, OnStartContinuation, (), (override)); 57 MOCK_METHOD(void, OnInactive, (), (override)); 58 MOCK_METHOD(void, OnActive, (), (override)); 59 MOCK_METHOD(void, OnHide, (), (override)); 60 MOCK_METHOD(void, OnShow, (), (override)); 61 MOCK_METHOD(void, OnRestoreAbilityState, (const std::string& data), (override)); 62 MOCK_METHOD(void, OnSaveAbilityState, (std::string & data), (override)); 63 MOCK_METHOD(bool, OnBackPressed, (), (override)); 64 MOCK_METHOD(void, DumpFrontend, (), (const override)); 65 MOCK_METHOD(std::string, GetPagePath, (), (const override)); 66 MOCK_METHOD(RefPtr<AcePage>, GetPage, (int32_t pageId), (const override)); 67 MOCK_METHOD(void, LoadPluginJsCode, (std::string && jsCode), (const override)); 68 MOCK_METHOD(void, SetJsMessageDispatcher, (const RefPtr<JsMessageDispatcher>& dispatcher), (const override)); 69 MOCK_METHOD(void, SendCallbackMessage, (const std::string& callbackId, const std::string& data), (const override)); 70 MOCK_METHOD(void, TransferComponentResponseData, (int32_t callbackId, int32_t code, std::vector<uint8_t>&& data), 71 (const override)); 72 MOCK_METHOD(void, TransferJsResponseData, (int32_t callbackId, int32_t code, std::vector<uint8_t>&& data), 73 (const override)); 74 MOCK_METHOD( 75 void, TransferJsEventData, (int32_t callbackId, int32_t code, std::vector<uint8_t>&& data), (const override)); 76 MOCK_METHOD(void, TransferJsPluginGetError, (int32_t callbackId, int32_t errorCode, std::string&& errorMessage), 77 (const override)); 78 MOCK_METHOD(void, LoadPluginJsByteCode, (std::vector<uint8_t> && jsCode, std::vector<int32_t>&& jsCodeLen), 79 (const override)); 80 MOCK_METHOD(bool, BuilderNodeFunc, (std::string functionName, const std::vector<int32_t>& nodeIds), (override)); 81 OnSurfaceChanged(int32_t width,int32_t height)82 void OnSurfaceChanged(int32_t width, int32_t height) override 83 { 84 width_ = width; 85 height_ = height; 86 } 87 OnLayoutCompleted(const std::string & componentId)88 void OnLayoutCompleted(const std::string& componentId) override 89 { 90 componentId_ = componentId; 91 } OnDrawCompleted(const std::string & componentId)92 void OnDrawCompleted(const std::string& componentId) override 93 { 94 componentId_ = componentId; 95 } 96 OnDrawChildrenCompleted(const std::string & componentId)97 void OnDrawChildrenCompleted(const std::string& componentId) override 98 { 99 componentId_ = componentId; 100 } 101 IsDrawChildrenCallbackFuncExist(const std::string & componentId)102 bool IsDrawChildrenCallbackFuncExist(const std::string& componentId) override 103 { 104 return false; 105 } 106 GetWidth()107 int32_t GetWidth() const 108 { 109 return width_; 110 } 111 GetHeight()112 int32_t GetHeight() const 113 { 114 return height_; 115 } 116 GetComponentId()117 const std::string& GetComponentId() const 118 { 119 return componentId_; 120 } 121 GetWindowConfig()122 WindowConfig& GetWindowConfig() override 123 { 124 return windowConfig_; 125 } 126 127 private: 128 int32_t width_ = 0; 129 int32_t height_ = 0; 130 std::string componentId_ = "init_id"; 131 WindowConfig windowConfig_; 132 }; 133 } // namespace OHOS::Ace 134 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_PIPELINE_NG_TEST_MOCK_MOCK_FRONTEND_H 135