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#define LOG_TAG "HtmlTest" 16 17#include <unistd.h> 18#include <gtest/gtest.h> 19#include <string> 20 21#include "logger.h" 22#include "udmf_capi_common.h" 23#include "html.h" 24 25using namespace testing::ext; 26using namespace OHOS::UDMF; 27using namespace OHOS; 28namespace OHOS::Test { 29using namespace std; 30 31class HtmlTest : public testing::Test { 32public: 33 static void SetUpTestCase(); 34 static void TearDownTestCase(); 35 void SetUp() override; 36 void TearDown() override; 37}; 38 39void HtmlTest::SetUpTestCase() 40{ 41} 42 43void HtmlTest::TearDownTestCase() 44{ 45} 46 47void HtmlTest::SetUp() 48{ 49} 50 51void HtmlTest::TearDown() 52{ 53} 54 55/** 56* @tc.name: Html001 57* @tc.desc: Abnormal testcase of Html, because htmlContent and plainContent are equal to MAX_TEXT_LEN 58* @tc.type: FUNC 59*/ 60HWTEST_F(HtmlTest, Html001, TestSize.Level1) 61{ 62 LOG_INFO(UDMF_TEST, "Html001 begin."); 63 const std::string htmlContent(MAX_TEXT_LEN, 'a'); 64 const std::string plainContent(MAX_TEXT_LEN, 'a'); 65 Html html(htmlContent, plainContent); 66 EXPECT_NE(html.dataType_, HTML); 67 EXPECT_TRUE(html.htmlContent_.empty()); 68 EXPECT_TRUE(html.plainContent_.empty()); 69 LOG_INFO(UDMF_TEST, "Html001 end."); 70} 71 72/** 73* @tc.name: Html002 74* @tc.desc: Abnormal testcase of Html, because plainContent and MAX_TEXT_LEN are equal 75* @tc.type: FUNC 76*/ 77HWTEST_F(HtmlTest, Html002, TestSize.Level1) 78{ 79 LOG_INFO(UDMF_TEST, "Html002 begin."); 80 const std::string htmlContent(20, 'a'); 81 const std::string plainContent(MAX_TEXT_LEN, 'a'); 82 Html html(htmlContent, plainContent); 83 EXPECT_NE(html.dataType_, HTML); 84 EXPECT_TRUE(html.htmlContent_.empty()); 85 EXPECT_TRUE(html.plainContent_.empty()); 86 LOG_INFO(UDMF_TEST, "Html002 end."); 87} 88 89/** 90* @tc.name: Html003 91* @tc.desc: Abnormal testcase of Html, because htmlContent and MAX_TEXT_LEN are equal 92* @tc.type: FUNC 93*/ 94HWTEST_F(HtmlTest, Html003, TestSize.Level1) 95{ 96 LOG_INFO(UDMF_TEST, "Html003 begin."); 97 const std::string htmlContent(20, 'a'); 98 const std::string plainContent(MAX_TEXT_LEN, 'a'); 99 Html html(htmlContent, plainContent); 100 EXPECT_NE(html.dataType_, HTML); 101 EXPECT_TRUE(html.htmlContent_.empty()); 102 EXPECT_TRUE(html.plainContent_.empty()); 103 LOG_INFO(UDMF_TEST, "Html003 end."); 104} 105 106/** 107* @tc.name: Html004 108* @tc.desc: Normal testcase of Html 109* @tc.type: FUNC 110*/ 111HWTEST_F(HtmlTest, Html004, TestSize.Level1) 112{ 113 LOG_INFO(UDMF_TEST, "Html004 begin."); 114 const std::string htmlContent(20, 'a'); 115 const std::string plainContent(20, 'a'); 116 Html html(htmlContent, plainContent); 117 EXPECT_EQ(html.dataType_, HTML); 118 EXPECT_EQ(html.htmlContent_, htmlContent); 119 EXPECT_EQ(html.plainContent_, plainContent); 120 LOG_INFO(UDMF_TEST, "Html004 end."); 121} 122 123/** 124* @tc.name: Html005 125* @tc.desc: Normal testcase of Html 126* @tc.type: FUNC 127*/ 128HWTEST_F(HtmlTest, Html005, TestSize.Level1) 129{ 130 LOG_INFO(UDMF_TEST, "Html005 begin."); 131 UDType type = UDType::ENTITY; 132 ValueType value = "value"; 133 Html html(type, value); 134 EXPECT_EQ(html.htmlContent_, std::get<std::string>(value)); 135 LOG_INFO(UDMF_TEST, "Html005 end."); 136} 137 138/** 139* @tc.name: SetHtmlContent001 140* @tc.desc: Abnormal testcase of SetHtmlContent, because htmlContent and MAX_TEXT_LEN are equal 141* @tc.type: FUNC 142*/ 143HWTEST_F(HtmlTest, SetHtmlContent001, TestSize.Level1) 144{ 145 LOG_INFO(UDMF_TEST, "SetHtmlContent001 begin."); 146 const std::string htmlContent(20 * 1024 * 1024, 'a'); 147 Html html; 148 html.SetHtmlContent(htmlContent); 149 EXPECT_NE(html.htmlContent_, htmlContent); 150 LOG_INFO(UDMF_TEST, "SetHtmlContent001 end."); 151} 152 153/** 154* @tc.name: SetPlainContent002 155* @tc.desc: Abnormal testcase of SetPlainContent, because plainContent and MAX_TEXT_LEN are equal 156* @tc.type: FUNC 157*/ 158HWTEST_F(HtmlTest, SetPlainContent002, TestSize.Level1) 159{ 160 LOG_INFO(UDMF_TEST, "SetPlainContent002 begin."); 161 const std::string plainContent(20 * 1024 * 1024, 'a'); 162 Html html; 163 html.SetPlainContent(plainContent); 164 EXPECT_NE(html.plainContent_, plainContent); 165 LOG_INFO(UDMF_TEST, "SetPlainContent002 end."); 166} 167} // OHOS::Test