1 /* 2 * Copyright (c) 2023 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 #include <thread> 16 #include <chrono> 17 #include "test/mock/interfaces/mock_uicontent.h" 18 #include "ui_content.h" 19 #include "interfaces/inner_api/form_render/include/form_renderer.h" 20 #include "interfaces/inner_api/form_render/include/form_renderer_delegate_impl.h" 21 #include "interfaces/inner_api/form_render/include/form_renderer_group.h" 22 #include "test/mock/core/pipeline/mock_pipeline_context.h" 23 24 using namespace testing; 25 using namespace testing::ext; 26 namespace OHOS::Ace { 27 namespace { 28 29 } // namespace 30 class FormRenderGroupTest : public testing::Test { 31 public: SetUpTestCase()32 static void SetUpTestCase() {}; TearDownTestCase()33 static void TearDownTestCase() {}; 34 }; 35 /** 36 * @tc.name: FormRenderGroupTest_001 37 * @tc.desc: Test AddForm() funtion. 38 * @tc.type: FUNC 39 */ 40 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_001, TestSize.Level1) 41 { 42 GTEST_LOG_(INFO) << "FormRenderGroupTest_001 start"; 43 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_001"); 44 ASSERT_TRUE(eventRunner); 45 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 46 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 47 EXPECT_TRUE(group); 48 OHOS::AAFwk::Want want; 49 OHOS::AppExecFwk::FormJsInfo formJsInfo; 50 formJsInfo.bundleName = "bundleName"; 51 formJsInfo.moduleName = "moduleName"; 52 formJsInfo.formId = 1; 53 EXPECT_EQ(formJsInfo.formId, 1); 54 group->AddForm(want, formJsInfo); 55 GTEST_LOG_(INFO) << "FormRenderGroupTest_001 end"; 56 } 57 /** 58 * @tc.name: FormRenderGroupTest_002 59 * @tc.desc: Test OnUnlock() function. 60 * @tc.type: FUNC 61 */ 62 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_002, TestSize.Level1) 63 { 64 GTEST_LOG_(INFO) << "FormRenderGroupTest_002 start"; 65 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_002"); 66 ASSERT_TRUE(eventRunner); 67 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 68 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 69 EXPECT_TRUE(group); 70 group->OnUnlock(); 71 GTEST_LOG_(INFO) << "FormRenderGroupTest_002 end"; 72 } 73 /** 74 * @tc.name: FormRenderGroupTest_003 75 * @tc.desc: Test UpdateForm() function. 76 * @tc.type: FUNC 77 */ 78 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_003, TestSize.Level1) 79 { 80 GTEST_LOG_(INFO) << "FormRenderGroupTest_003 start"; 81 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_003"); 82 ASSERT_TRUE(eventRunner); 83 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 84 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 85 EXPECT_TRUE(group); 86 OHOS::AppExecFwk::FormJsInfo formJsInfo; 87 formJsInfo.bundleName = "bundleName"; 88 formJsInfo.moduleName = "moduleName"; 89 group->UpdateForm(formJsInfo); 90 GTEST_LOG_(INFO) << "FormRenderGroupTest_003 end"; 91 } 92 /** 93 * @tc.name: FormRenderGroupTest_004 94 * @tc.desc: Test DeleteForm() function. 95 * @tc.type: FUNC 96 */ 97 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_004, TestSize.Level1) 98 { 99 GTEST_LOG_(INFO) << "FormRenderGroupTest_004 start"; 100 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_004"); 101 ASSERT_TRUE(eventRunner); 102 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 103 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 104 EXPECT_TRUE(group); 105 std::string id = "123456"; 106 group->DeleteForm(id); 107 GTEST_LOG_(INFO) << "FormRenderGroupTest_004 end"; 108 } 109 /** 110 * @tc.name: FormRenderGroupTest_005 111 * @tc.desc: Test DeleteForm() function. 112 * @tc.type: FUNC 113 */ 114 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_005, TestSize.Level1) 115 { 116 GTEST_LOG_(INFO) << "FormRenderGroupTest_005 start"; 117 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_005"); 118 ASSERT_TRUE(eventRunner); 119 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 120 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 121 EXPECT_TRUE(group); 122 OHOS::AAFwk::Want want; 123 OHOS::AppExecFwk::FormJsInfo formJsInfo; 124 formJsInfo.bundleName = "bundleName"; 125 formJsInfo.moduleName = "moduleName"; 126 group->AddForm(want, formJsInfo); 127 group->DeleteForm(); 128 GTEST_LOG_(INFO) << "FormRenderGroupTest_005 end"; 129 } 130 /** 131 * @tc.name: FormRenderGroupTest_006 132 * @tc.desc: Test ReloadForm() function. 133 * @tc.type: FUNC 134 */ 135 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_006, TestSize.Level1) 136 { 137 GTEST_LOG_(INFO) << "FormRenderGroupTest_006 start"; 138 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_006"); 139 ASSERT_TRUE(eventRunner); 140 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 141 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 142 EXPECT_TRUE(group); 143 OHOS::AppExecFwk::FormJsInfo formJsInfo; 144 formJsInfo.bundleName = "bundleName"; 145 formJsInfo.moduleName = "moduleName"; 146 formJsInfo.formId = 2; 147 EXPECT_EQ(formJsInfo.formId, 2); 148 group->ReloadForm(formJsInfo); 149 GTEST_LOG_(INFO) << "FormRenderGroupTest_006 end"; 150 } 151 /** 152 * @tc.name: FormRenderGroupTest_007 153 * @tc.desc: Test UpdateConfiguration() function. 154 * @tc.type: FUNC 155 */ 156 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_007, TestSize.Level1) 157 { 158 GTEST_LOG_(INFO) << "FormRenderGroupTest_007 start"; 159 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_007"); 160 ASSERT_TRUE(eventRunner); 161 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 162 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 163 EXPECT_TRUE(group); 164 std::shared_ptr<OHOS::AppExecFwk::Configuration> config; 165 group->UpdateConfiguration(config); 166 GTEST_LOG_(INFO) << "FormRenderGroupTest_007 end"; 167 } 168 /** 169 * @tc.name: FormRenderGroupTest_008 170 * @tc.desc: Test IsFormRequestsEmpty() function. 171 * @tc.type: FUNC 172 */ 173 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_008, TestSize.Level1) 174 { 175 GTEST_LOG_(INFO) << "FormRenderGroupTest_008 start"; 176 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_008"); 177 ASSERT_TRUE(eventRunner); 178 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 179 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 180 EXPECT_TRUE(group); 181 EXPECT_EQ(true, group->IsFormRequestsEmpty()); 182 GTEST_LOG_(INFO) << "FormRenderGroupTest_008 end"; 183 } 184 /** 185 * @tc.name: FormRenderGroupTest_009 186 * @tc.desc: Test GetAllRendererFormRequests() function. 187 * @tc.type: FUNC 188 */ 189 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_009, TestSize.Level1) 190 { 191 GTEST_LOG_(INFO) << "FormRenderGroupTest_009 start"; 192 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_009"); 193 ASSERT_TRUE(eventRunner); 194 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 195 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 196 EXPECT_TRUE(group); 197 std::vector<FormRequest> from_ = group->GetAllRendererFormRequests(); 198 GTEST_LOG_(INFO) << "FormRenderGroupTest_009 end"; 199 } 200 /** 201 * @tc.name: FormRenderGroupTest_010 202 * @tc.desc: Test RecycleForm() function. 203 * @tc.type: FUNC 204 */ 205 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_010, TestSize.Level1) 206 { 207 GTEST_LOG_(INFO) << "FormRenderGroupTest_010 start"; 208 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_010"); 209 ASSERT_TRUE(eventRunner); 210 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 211 auto group = FormRendererGroup::Create(nullptr, nullptr, eventHandler); 212 EXPECT_TRUE(group); 213 std::string data = "123"; 214 group->RecycleForm(data); 215 GTEST_LOG_(INFO) << "FormRenderGroupTest_010 end"; 216 } 217 /** 218 * @tc.name: FormRenderGroupTest_011 219 * @tc.desc: Test FormRendererGroup() function. 220 * @tc.type: FUNC 221 */ 222 HWTEST_F(FormRenderGroupTest, FormRenderGroupTest_011, TestSize.Level1) 223 { 224 GTEST_LOG_(INFO) << "FormRenderGroupTest_011 start"; 225 auto eventRunner = OHOS::AppExecFwk::EventRunner::Create("FormRenderGroupTest_011"); 226 ASSERT_TRUE(eventRunner); 227 auto eventHandler = std::make_shared<OHOS::AppExecFwk::EventHandler>(eventRunner); 228 FormRendererGroup group(nullptr, nullptr, eventHandler); 229 GTEST_LOG_(INFO) << "FormRenderGroupTest_011 end"; 230 } 231 }