• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_COMPONENTS_NG_MOCK_PIPELINE_BASE_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_MOCK_PIPELINE_BASE_H
18 
19 #include "gmock/gmock.h"
20 
21 #include "core/pipeline_ng/pipeline_context.h"
22 
23 namespace OHOS::Ace::NG {
24 class MockPipelineBase : public PipelineContext {
25     DECLARE_ACE_TYPE(MockPipelineBase, PipelineContext);
26 
27 public:
28     MockPipelineBase() = default;
29     ~MockPipelineBase() override = default;
30 
31     static void SetUp();
32     static void TearDown();
33     static RefPtr<MockPipelineBase> GetCurrent();
34     void SetRootSize(double rootWidth, double rootHeight);
35 
36     MOCK_METHOD0(SetupRootElement, void());
37     MOCK_METHOD3(
38         AddKeyFrame, void(float fraction, const RefPtr<Curve>& curve, const std::function<void()>& propertyCallback));
39     MOCK_METHOD2(AddKeyFrame, void(float fraction, const std::function<void()>& propertyCallback));
40     MOCK_METHOD1(AddScheduleTask, uint32_t(const RefPtr<ScheduleTask>& task));
41     MOCK_METHOD1(RemoveScheduleTask, void(uint32_t id));
42     MOCK_METHOD2(OnTouchEvent, void(const TouchEvent& point, bool isSubPipe));
43     MOCK_METHOD1(OnKeyEvent, bool(const KeyEvent& event));
44     MOCK_METHOD1(OnMouseEvent, void(const MouseEvent& event));
45     MOCK_METHOD1(OnAxisEvent, void(const AxisEvent& event));
46     MOCK_CONST_METHOD1(OnRotationEvent, bool(const RotationEvent& event));
47     MOCK_METHOD3(OnDragEvent, void(int32_t x, int32_t y, DragEventAction action));
48     MOCK_METHOD1(OnIdle, void(int64_t deadline));
49     MOCK_METHOD1(SetBuildAfterCallback, void(const std::function<void()>& callback));
50     MOCK_METHOD1(FlushAnimation, void(uint64_t nanoTimestamp));
51     MOCK_METHOD1(SaveExplicitAnimationOption, void(const AnimationOption& option));
52     MOCK_METHOD1(CreateExplicitAnimator, void(const std::function<void()>& onFinishEvent));
53     MOCK_METHOD0(ClearExplicitAnimationOption, void());
54     MOCK_CONST_METHOD0(GetExplicitAnimationOption, AnimationOption());
55     MOCK_METHOD0(Destroy, void());
56     MOCK_METHOD0(OnShow, void());
57     MOCK_METHOD0(OnHide, void());
58     MOCK_METHOD1(WindowFocus, void(bool isFocus));
59     MOCK_METHOD2(ShowContainerTitle, void(bool isShow, bool hasDeco));
60     MOCK_METHOD4(OnSurfaceChanged, void(int32_t width, int32_t height, WindowSizeChangeReason type,
61                                        const std::shared_ptr<Rosen::RSTransaction>& rsTransaction));
62     MOCK_METHOD1(OnLayoutCompleted, void(const std::string& componentId));
63     MOCK_METHOD1(OnDrawCompleted, void(const std::string& componentId));
64     MOCK_METHOD1(SetNeedRenderNode, void(const RefPtr<FrameNode>& node));
65     MOCK_METHOD2(OnSurfacePositionChanged, void(int32_t posX, int32_t posY));
66     MOCK_METHOD1(OnSurfaceDensityChanged, void(double density));
67     MOCK_METHOD2(OnSystemBarHeightChanged, void(double statusBar, double navigationBar));
68     MOCK_METHOD0(OnSurfaceDestroyed, void());
69     MOCK_METHOD0(NotifyOnPreDraw, void());
70     MOCK_METHOD0(CallRouterBackToPopPage, bool());
71     MOCK_METHOD0(OnPageShow, void());
72     MOCK_CONST_METHOD1(Finish, void(bool autoFinish));
73     MOCK_METHOD1(RequestFullWindow, void(int32_t duration));
74     MOCK_METHOD1(RequestFocus, bool(const std::string& targetNodeId));
75     MOCK_METHOD0(IsLastPage, bool());
76     MOCK_CONST_METHOD0(GetIsDeclarative, bool());
77     MOCK_METHOD1(SetAppBgColor, void(const Color& color));
78     MOCK_METHOD1(SetAppTitle, void(const std::string& title));
79     MOCK_METHOD1(SetAppIcon, void(const RefPtr<PixelMap>& icon));
80     MOCK_CONST_METHOD0(RefreshRootBgColor, void());
81     MOCK_METHOD0(PostponePageTransition, void());
82     MOCK_METHOD0(LaunchPageTransition, void());
83     MOCK_METHOD2(GetBoundingRectData, void(int32_t nodeId, Rect& rect));
84     MOCK_METHOD0(FlushReload, void());
85     MOCK_METHOD0(FlushBuild, void());
86     MOCK_METHOD0(FlushReloadTransition, void());
87     MOCK_METHOD1(NotifyMemoryLevel, void(int32_t level));
88     MOCK_METHOD0(FlushMessages, void());
89     MOCK_METHOD1(AddAnimationClosure, void(std::function<void()>&& animation));
90     MOCK_CONST_METHOD1(OnDumpInfo, bool(const std::vector<std::string>& params));
91     MOCK_METHOD2(FlushVsync, void(uint64_t nanoTimestamp, uint32_t frameCount));
92     MOCK_METHOD3(SetRootRect, void(double width, double height, double offset));
93     MOCK_METHOD0(FlushPipelineWithoutAnimation, void());
94     MOCK_METHOD0(FlushPipelineImmediately, void());
95     MOCK_METHOD2(OnVirtualKeyboardHeightChange,
96         void(float keyboardHeight, const std::shared_ptr<Rosen::RSTransaction>& rsTransaction));
97     MOCK_METHOD1(SetContainerWindow, void(bool isShow));
98     MOCK_METHOD1(SetTouchPipeline, void(const WeakPtr<PipelineBase>& context));
99     MOCK_METHOD2(AddEtsCardTouchEventCallback, void(int32_t ponitId, EtsCardTouchEventCallback&& callback));
100     MOCK_METHOD1(RestoreNodeInfo, void(std::unique_ptr<JsonValue> nodeInfo));
101     MOCK_METHOD0(GetStoredNodeInfo, std::unique_ptr<JsonValue>());
102     MOCK_METHOD1(UpdateSystemSafeArea, void(const SafeAreaInsets& systemSafeArea));
103     MOCK_METHOD1(UpdateCutoutSafeArea, void(const SafeAreaInsets& cutoutSafeArea));
104     static RefPtr<MockPipelineBase> pipeline_;
105 
FlushUITasks()106     void FlushUITasks() {}
107 
108 protected:
109     double dipScale_ = 1.0;
110 };
111 } // namespace OHOS::Ace::NG
112 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_MOCK_PIPELINE_BASE_H
113