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 TEST_UNITTEST_CORE_BASE_VIEW_ABSTRACT_TEST_NG_H 17 #define TEST_UNITTEST_CORE_BASE_VIEW_ABSTRACT_TEST_NG_H 18 #include "gtest/gtest.h" 19 #define protected public 20 #define private public 21 #include "test/mock/core/common/mock_container.h" 22 #include "test/mock/core/common/mock_theme_manager.h" 23 #include "test/mock/core/pipeline/mock_pipeline_context.h" 24 25 #include "core/components/common/properties/decoration.h" 26 #include "core/components/popup/popup_theme.h" 27 #include "core/components_ng/base/frame_node.h" 28 #include "core/components_ng/base/view_abstract.h" 29 #include "core/components_ng/base/view_abstract_model.h" 30 #include "core/components_ng/base/view_abstract_model_ng.h" 31 #include "core/components_ng/base/view_stack_model.h" 32 #include "core/components_ng/base/view_stack_model_ng.h" 33 #include "core/components_ng/layout/layout_property.h" 34 #include "core/components_ng/pattern/bubble/bubble_pattern.h" 35 #include "core/components_ng/pattern/menu/menu_pattern.h" 36 #include "core/components_ng/pattern/menu/wrapper/menu_wrapper_pattern.h" 37 #include "core/components_ng/pattern/navigation/navigation_model_ng.h" 38 #include "core/components_ng/pattern/navigator/navigator_model_ng.h" 39 #include "core/components_ng/pattern/navrouter/navrouter_model_ng.h" 40 #include "core/components_ng/pattern/picker/datepicker_model_ng.h" 41 #include "core/components_ng/pattern/stepper/stepper_item_model_ng.h" 42 #include "core/components_ng/pattern/text/text_model_ng.h" 43 #include "core/components_ng/property/property.h" 44 #include "core/interfaces/native/node/node_api.h" 45 #include "core/pipeline/base/element_register.h" 46 #include "frameworks/core/components/common/layout/position_param.h" 47 #include "frameworks/core/components_ng/pattern/panel/sliding_panel_model_ng.h" 48 #include "frameworks/core/pipeline/base/element.h" 49 50 #undef private 51 #undef protected 52 53 namespace OHOS::Ace::NG { 54 namespace { 55 const Dimension WIDTH { 50.0, DimensionUnit::PX }; 56 const Dimension HEIGHT { 100.0, DimensionUnit::PX }; 57 const Dimension MIN_WIDTH { 10.0, DimensionUnit::PX }; 58 const Dimension MIN_HEIGHT { 20.0, DimensionUnit::PX }; 59 const Dimension RADIUS { 10.0, DimensionUnit::PX }; 60 const Dimension LEFT { 10.0, DimensionUnit::PX }; 61 const Dimension TOP { 20.0, DimensionUnit::PX }; 62 const Dimension RIGHT { 10.0, DimensionUnit::PX }; 63 const Dimension BOTTOM { 20.0, DimensionUnit::PX }; 64 const Dimension VALUE { -50.0, DimensionUnit::PX }; 65 const Dimension ZERO { 0.0, DimensionUnit::PX }; 66 const BiasPair biasPair(0.5f, 0.5f); 67 const InvertVariant invert = 0.0f; 68 const OffsetF OFFSETF { 1.0, 1.0 }; 69 const Offset OFFSET { 2.0, 2.0 }; 70 const float RATIO = 1.0f; 71 const double OPACITYS = 10; 72 const int32_t TEN = 10; 73 const int32_t FOUF = 4; 74 const int32_t INDEX = 1; 75 const Color BLUE = Color(0xff0000ff); 76 const SafeAreaExpandOpts safeAreaExpandOpts = SafeAreaExpandOpts(); 77 const std::vector<ObscuredReasons> reasonsVector = { ObscuredReasons::PLACEHOLDER }; 78 79 const BackgroundImageSize BACKGROUNDSIZE { BackgroundImageSizeType::AUTO, 1.0 }; 80 const BackgroundImagePosition BACKGROUNDPOSITION { BackgroundImagePositionType::PERCENT, -1.0, 81 BackgroundImagePositionType::PERCENT, 0.0 }; 82 83 constexpr char TAG_ROOT[] = "root"; 84 constexpr char TAG_CHILD[] = "child"; 85 const auto MOCK_PATTERN_ROOT = AceType::MakeRefPtr<Pattern>(); 86 const auto FRAME_NODE_ROOT = FrameNode::CreateFrameNode(TAG_ROOT, 1, MOCK_PATTERN_ROOT, true); 87 const auto FRAME_NODE_CHILD = FrameNode::CreateFrameNode(TAG_CHILD, 2, MOCK_PATTERN_ROOT, false); 88 const uint32_t REGISTER_ID = 1 << 20; 89 const auto FRAME_NODE_REGISTER = FrameNode::CreateFrameNode(TAG_ROOT, REGISTER_ID, MOCK_PATTERN_ROOT, false); 90 91 std::string srcimages = "common/images/mmm.jpg"; 92 const std::string VALUE_EMPTY = ""; 93 const std::string VALUE_X = "X"; 94 const std::string VALUE_CX = "CX"; 95 const std::string VALUE_TAB = "TAB"; 96 const std::string VALUE_DPAD_UP = "DPAD_UP"; 97 ViewAbstractModelNG viewAbstractModelNG; 98 auto callback = []() { srcimages = "test"; }; 99 int32_t flag = 0; 100 const ImageSourceInfo imageSourceInfo = ImageSourceInfo("common/images/mmm.jpg", "abstract", "abstract"); 101 }; // namespace 102 class ViewAbstractTestNg : public testing::Test { 103 public: 104 static void SetUpTestSuite(); 105 static void TearDownTestSuite(); SetUp()106 void SetUp() override 107 { 108 auto* stack = ViewStackProcessor::GetInstance(); 109 auto nodeId = stack->ClaimNodeId(); 110 auto frameNode = 111 FrameNode::GetOrCreateFrameNode("components", nodeId, []() { return AceType::MakeRefPtr<Pattern>(); }); 112 stack->Push(frameNode); 113 } TearDown()114 void TearDown() override {} 115 }; 116 } // namespace OHOS::Ace::NG 117 118 #endif //TEST_UNITTEST_CORE_BASE_VIEW_ABSTRACT_TEST_NG_H