114cf0368Sopenharmony_ci/* 214cf0368Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 314cf0368Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 414cf0368Sopenharmony_ci * you may not use this file except in compliance with the License. 514cf0368Sopenharmony_ci * You may obtain a copy of the License at 614cf0368Sopenharmony_ci * 714cf0368Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 814cf0368Sopenharmony_ci * 914cf0368Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1014cf0368Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1114cf0368Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1214cf0368Sopenharmony_ci * See the License for the specific language governing permissions and 1314cf0368Sopenharmony_ci * limitations under the License. 1414cf0368Sopenharmony_ci */ 1514cf0368Sopenharmony_ci#define LOG_TAG "ApplicationUtdJsonParserTest" 1614cf0368Sopenharmony_ci 1714cf0368Sopenharmony_ci#include <unistd.h> 1814cf0368Sopenharmony_ci#include <gtest/gtest.h> 1914cf0368Sopenharmony_ci#include <string> 2014cf0368Sopenharmony_ci 2114cf0368Sopenharmony_ci#include "logger.h" 2214cf0368Sopenharmony_ci#include "unified_record.h" 2314cf0368Sopenharmony_ci#include "link.h" 2414cf0368Sopenharmony_ci 2514cf0368Sopenharmony_ciusing namespace testing::ext; 2614cf0368Sopenharmony_ciusing namespace OHOS::UDMF; 2714cf0368Sopenharmony_ciusing namespace OHOS; 2814cf0368Sopenharmony_cinamespace OHOS::Test { 2914cf0368Sopenharmony_ciusing namespace std; 3014cf0368Sopenharmony_ci 3114cf0368Sopenharmony_ciclass LinkTest : public testing::Test { 3214cf0368Sopenharmony_cipublic: 3314cf0368Sopenharmony_ci static void SetUpTestCase(); 3414cf0368Sopenharmony_ci static void TearDownTestCase(); 3514cf0368Sopenharmony_ci void SetUp() override; 3614cf0368Sopenharmony_ci void TearDown() override; 3714cf0368Sopenharmony_ci}; 3814cf0368Sopenharmony_ci 3914cf0368Sopenharmony_civoid LinkTest::SetUpTestCase() 4014cf0368Sopenharmony_ci{ 4114cf0368Sopenharmony_ci} 4214cf0368Sopenharmony_ci 4314cf0368Sopenharmony_civoid LinkTest::TearDownTestCase() 4414cf0368Sopenharmony_ci{ 4514cf0368Sopenharmony_ci} 4614cf0368Sopenharmony_ci 4714cf0368Sopenharmony_civoid LinkTest::SetUp() 4814cf0368Sopenharmony_ci{ 4914cf0368Sopenharmony_ci} 5014cf0368Sopenharmony_ci 5114cf0368Sopenharmony_civoid LinkTest::TearDown() 5214cf0368Sopenharmony_ci{ 5314cf0368Sopenharmony_ci} 5414cf0368Sopenharmony_ci 5514cf0368Sopenharmony_ci/** 5614cf0368Sopenharmony_ci* @tc.name: LinkTest001 5714cf0368Sopenharmony_ci* @tc.desc: Normal testcase of Link 5814cf0368Sopenharmony_ci* @tc.type: FUNC 5914cf0368Sopenharmony_ci*/ 6014cf0368Sopenharmony_ciHWTEST_F(LinkTest, LinkTest001, TestSize.Level1) 6114cf0368Sopenharmony_ci{ 6214cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest001 begin."); 6314cf0368Sopenharmony_ci UDType type = UDType::ENTITY; 6414cf0368Sopenharmony_ci ValueType value = "value"; 6514cf0368Sopenharmony_ci Link link(type, value); 6614cf0368Sopenharmony_ci EXPECT_EQ(link.url_, std::get<std::string>(value)); 6714cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest001 end."); 6814cf0368Sopenharmony_ci} 6914cf0368Sopenharmony_ci 7014cf0368Sopenharmony_ci/** 7114cf0368Sopenharmony_ci* @tc.name: LinkTest002 7214cf0368Sopenharmony_ci* @tc.desc: Abnormal testcase of Link,because url and description are equal to MAX_TEXT_LEN 7314cf0368Sopenharmony_ci* @tc.type: FUNC 7414cf0368Sopenharmony_ci*/ 7514cf0368Sopenharmony_ciHWTEST_F(LinkTest, LinkTest002, TestSize.Level1) 7614cf0368Sopenharmony_ci{ 7714cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest002 begin."); 7814cf0368Sopenharmony_ci const std::string url(MAX_TEXT_LEN, 'a'); 7914cf0368Sopenharmony_ci const std::string description(MAX_TEXT_LEN, 'a'); 8014cf0368Sopenharmony_ci Link link(url, description); 8114cf0368Sopenharmony_ci EXPECT_NE(link.dataType_, HYPERLINK); 8214cf0368Sopenharmony_ci EXPECT_NE(link.url_, url); 8314cf0368Sopenharmony_ci EXPECT_NE(link.description_, description); 8414cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest002 end."); 8514cf0368Sopenharmony_ci} 8614cf0368Sopenharmony_ci 8714cf0368Sopenharmony_ci/** 8814cf0368Sopenharmony_ci* @tc.name: LinkTest003 8914cf0368Sopenharmony_ci* @tc.desc: Abnormal testcase of Link,because url and MAX_TEXT_LEN are equal 9014cf0368Sopenharmony_ci* @tc.type: FUNC 9114cf0368Sopenharmony_ci*/ 9214cf0368Sopenharmony_ciHWTEST_F(LinkTest, LinkTest003, TestSize.Level1) 9314cf0368Sopenharmony_ci{ 9414cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest003 begin."); 9514cf0368Sopenharmony_ci const std::string url(MAX_TEXT_LEN, 'a'); 9614cf0368Sopenharmony_ci const std::string description(20, 'a'); 9714cf0368Sopenharmony_ci Link link(url, description); 9814cf0368Sopenharmony_ci EXPECT_NE(link.dataType_, HYPERLINK); 9914cf0368Sopenharmony_ci EXPECT_NE(link.url_, url); 10014cf0368Sopenharmony_ci EXPECT_NE(link.description_, description); 10114cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest003 end."); 10214cf0368Sopenharmony_ci} 10314cf0368Sopenharmony_ci 10414cf0368Sopenharmony_ci/** 10514cf0368Sopenharmony_ci* @tc.name: LinkTest004 10614cf0368Sopenharmony_ci* @tc.desc: Abnormal testcase of Link,because description and MAX_TEXT_LEN are equal 10714cf0368Sopenharmony_ci* @tc.type: FUNC 10814cf0368Sopenharmony_ci*/ 10914cf0368Sopenharmony_ciHWTEST_F(LinkTest, LinkTest004, TestSize.Level1) 11014cf0368Sopenharmony_ci{ 11114cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest004 begin."); 11214cf0368Sopenharmony_ci const std::string url(20, 'a'); 11314cf0368Sopenharmony_ci const std::string description(MAX_TEXT_LEN, 'a'); 11414cf0368Sopenharmony_ci Link link(url, description); 11514cf0368Sopenharmony_ci EXPECT_NE(link.dataType_, HYPERLINK); 11614cf0368Sopenharmony_ci EXPECT_NE(link.url_, url); 11714cf0368Sopenharmony_ci EXPECT_NE(link.description_, description); 11814cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "LinkTest004 end."); 11914cf0368Sopenharmony_ci} 12014cf0368Sopenharmony_ci 12114cf0368Sopenharmony_ci/** 12214cf0368Sopenharmony_ci* @tc.name: SetUrlTest001 12314cf0368Sopenharmony_ci* @tc.desc: Abnormal testcase of SetUrl,because url and MAX_TEXT_LEN are equal 12414cf0368Sopenharmony_ci* @tc.type: FUNC 12514cf0368Sopenharmony_ci*/ 12614cf0368Sopenharmony_ciHWTEST_F(LinkTest, SetUrlTest001, TestSize.Level1) 12714cf0368Sopenharmony_ci{ 12814cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "SetUrlTest001 begin."); 12914cf0368Sopenharmony_ci const std::string url(MAX_TEXT_LEN, 'a'); 13014cf0368Sopenharmony_ci Link link; 13114cf0368Sopenharmony_ci link.SetUrl(url); 13214cf0368Sopenharmony_ci EXPECT_NE(link.url_, url); 13314cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "SetUrlTest001 end."); 13414cf0368Sopenharmony_ci} 13514cf0368Sopenharmony_ci 13614cf0368Sopenharmony_ci/** 13714cf0368Sopenharmony_ci* @tc.name: SetDescription001 13814cf0368Sopenharmony_ci* @tc.desc: Abnormal testcase of SetDescription,because url and MAX_TEXT_LEN are equal 13914cf0368Sopenharmony_ci* @tc.type: FUNC 14014cf0368Sopenharmony_ci*/ 14114cf0368Sopenharmony_ciHWTEST_F(LinkTest, SetDescription001, TestSize.Level1) 14214cf0368Sopenharmony_ci{ 14314cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "SetDescription001 begin."); 14414cf0368Sopenharmony_ci const std::string description(MAX_TEXT_LEN, 'a'); 14514cf0368Sopenharmony_ci Link link; 14614cf0368Sopenharmony_ci link.SetDescription(description); 14714cf0368Sopenharmony_ci EXPECT_NE(link.description_, description); 14814cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "SetDescription001 end."); 14914cf0368Sopenharmony_ci} 15014cf0368Sopenharmony_ci 15114cf0368Sopenharmony_ci/** 15214cf0368Sopenharmony_ci* @tc.name: SetDescription002 15314cf0368Sopenharmony_ci* @tc.desc: Abnormal testcase of SetDescription,because description and MAX_TEXT_LEN are equal 15414cf0368Sopenharmony_ci* @tc.type: FUNC 15514cf0368Sopenharmony_ci*/ 15614cf0368Sopenharmony_ciHWTEST_F(LinkTest, SetDescription002, TestSize.Level1) 15714cf0368Sopenharmony_ci{ 15814cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "SetDescription002 begin."); 15914cf0368Sopenharmony_ci const std::string description(MAX_TEXT_LEN, 'a'); 16014cf0368Sopenharmony_ci Link link; 16114cf0368Sopenharmony_ci link.SetDescription(description); 16214cf0368Sopenharmony_ci EXPECT_NE(link.description_, description); 16314cf0368Sopenharmony_ci LOG_INFO(UDMF_TEST, "SetDescription002 end."); 16414cf0368Sopenharmony_ci} 16514cf0368Sopenharmony_ci} // OHOS::Test