From 75c951ddad2320e8e020ab4d6011960d82907254 Mon Sep 17 00:00:00 2001 From: liukaii Date: Thu, 26 Jun 2025 19:53:00 +0800 Subject: [PATCH] add TDD Signed-off-by: liukaii Change-Id: If7808252946e59489e3d0df2e4a57e9cb1143028 --- test/unittest/core/pattern/text/BUILD.gn | 1 + .../pattern/text/text_model_static_test.cpp | 396 ++++++++++++++++++ .../text_input/text_input_area_model_test.cpp | 348 ++++++++++++++- 3 files changed, 744 insertions(+), 1 deletion(-) create mode 100644 test/unittest/core/pattern/text/text_model_static_test.cpp diff --git a/test/unittest/core/pattern/text/BUILD.gn b/test/unittest/core/pattern/text/BUILD.gn index e1b9d5a41cb..9b8630dd5d5 100644 --- a/test/unittest/core/pattern/text/BUILD.gn +++ b/test/unittest/core/pattern/text/BUILD.gn @@ -46,6 +46,7 @@ ace_unittest("text_test_nullptr") { sources = [ "text_base.cpp", "text_nullptr_ng.cpp", + "text_model_static_test.cpp", ] defines = [ "NEED_PIPELINE_CONTEXT_BE_NULLPTR" ] cflags = [ "-fno-access-control" ] diff --git a/test/unittest/core/pattern/text/text_model_static_test.cpp b/test/unittest/core/pattern/text/text_model_static_test.cpp new file mode 100644 index 00000000000..a3b1d909ad9 --- /dev/null +++ b/test/unittest/core/pattern/text/text_model_static_test.cpp @@ -0,0 +1,396 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "text_base.h" +#include "core/components_ng/pattern/text/text_model_static.h" +#include "core/components_ng/pattern/text/text_model_ng.h" +#include "core/components_ng/pattern/text/text_model.h" + +namespace OHOS::Ace::NG { +class TextModelStaticTest : public TextBases { +public: +}; + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_001, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validWeight = Ace::FontWeight::W100; + TextModelStatic::SetFontWeight(frameNode.GetRawPtr(), validWeight); + std::optional emptyWeight = std::nullopt; + TextModelStatic::SetFontWeight(frameNode.GetRawPtr(), emptyWeight); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_002, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = 1; + TextModelStatic::SetVariableFontWeight(frameNode.GetRawPtr(), validValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_003, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = true; + TextModelStatic::SetEnableVariableFontWeight(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetEnableVariableFontWeight(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_004, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = 1.0f; + TextModelStatic::SetMinFontScale(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetMinFontScale(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_005, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = 1.0f; + TextModelStatic::SetMaxFontScale(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetMaxFontScale(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_006, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = Ace::FontStyle::NORMAL; + TextModelStatic::SetItalicFontStyle(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetItalicFontStyle(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_007, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = Ace::TextAlign::LEFT; + TextModelStatic::SetTextAlign(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextAlign(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_008, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto colorOpt = std::make_optional(); + TextModelStatic::SetTextColor(frameNode.GetRawPtr(), colorOpt); + std::optional emptyColor = std::nullopt; + TextModelStatic::SetTextColor(frameNode.GetRawPtr(), emptyColor); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_009, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetFontSize(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetFontSize(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_010, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetLineHeight(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetLineHeight(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_011, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetLineSpacing(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetLineSpacing(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_012, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = Ace::TextOverflow::CLIP; + TextModelStatic::SetTextOverflow(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextOverflow(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_013, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = Ace::TextDecoration::NONE; + TextModelStatic::SetTextDecoration(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextDecoration(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_014, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto colorOpt = std::make_optional(); + TextModelStatic::SetTextDecorationColor(frameNode.GetRawPtr(), colorOpt); + std::optional emptyColor = std::nullopt; + TextModelStatic::SetTextDecorationColor(frameNode.GetRawPtr(), emptyColor); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_015, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = Ace::TextDecorationStyle::SOLID; + TextModelStatic::SetTextDecorationStyle(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextDecorationStyle(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_016, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = Ace::TextCase::NORMAL; + TextModelStatic::SetTextCase(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextCase(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_017, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = 1; + TextModelStatic::SetMaxLines(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetMaxLines(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_018, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetAdaptMinFontSize(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetAdaptMinFontSize(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_019, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetAdaptMaxFontSize(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetAdaptMaxFontSize(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_020, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = std::make_optional(std::vector{"16px"}); + TextModelStatic::SetFontFamily(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetFontFamily(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_021, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = CopyOptions::None; + TextModelStatic::SetCopyOption(frameNode.GetRawPtr(), validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetCopyOption(frameNode.GetRawPtr(), emptyValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_022, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = std::make_optional(std::vector{ Shadow() }); + TextModelStatic::SetTextShadow(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetTextShadow(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_023, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = TextHeightAdaptivePolicy::LAYOUT_CONSTRAINT_FIRST; + TextModelStatic::SetHeightAdaptivePolicy(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetHeightAdaptivePolicy(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_024, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetTextIndent(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetTextIndent(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_025, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetBaselineOffset(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetBaselineOffset(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_026, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetLetterSpacing(frameNode.GetRawPtr(), dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetLetterSpacing(frameNode.GetRawPtr(), emptyDimension); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_027, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = std::make_optional(); + TextModelStatic::SetFont(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetFont(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_028, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = WordBreak::BREAK_WORD; + TextModelStatic::SetWordBreak(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetWordBreak(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_029, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = LineBreakStrategy::BALANCED; + TextModelStatic::SetLineBreakStrategy(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetLineBreakStrategy(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_030, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto validValue = EllipsisMode::HEAD; + TextModelStatic::SetEllipsisMode(frameNode.GetRawPtr(), validValue); + TextModelStatic::SetEllipsisMode(frameNode.GetRawPtr(), std::nullopt); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_031, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto colorOpt = std::make_optional(); + TextModelStatic::SetCaretColor(frameNode.GetRawPtr(), colorOpt); + std::optional emptyColor = std::nullopt; + TextModelStatic::SetCaretColor(frameNode.GetRawPtr(), emptyColor); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_032, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + auto colorOpt = std::make_optional(); + TextModelStatic::SetSelectedBackgroundColor(frameNode.GetRawPtr(), colorOpt); + std::optional emptyColor = std::nullopt; + TextModelStatic::SetSelectedBackgroundColor(frameNode.GetRawPtr(), emptyColor); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_033, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = true; + TextModelStatic::SetHalfLeading(frameNode.GetRawPtr(), validValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_034, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = true; + TextModelStatic::SetEnableHapticFeedback(frameNode.GetRawPtr(), validValue); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_035, TestSize.Level0) +{ + auto pattern = AceType::MakeRefPtr(); + auto frameNode = FrameNode::CreateFrameNode("Test", 1, pattern); + EXPECT_NE(frameNode, nullptr); + std::optional validValue = TextSelectableMode::SELECTABLE_FOCUSABLE; + TextModelStatic::SetTextSelectableMode(frameNode.GetRawPtr(), validValue); +} +} // namespace OHOS::Ace::NG \ No newline at end of file diff --git a/test/unittest/core/pattern/text_input/text_input_area_model_test.cpp b/test/unittest/core/pattern/text_input/text_input_area_model_test.cpp index da940d611b2..47b670c9eb6 100644 --- a/test/unittest/core/pattern/text_input/text_input_area_model_test.cpp +++ b/test/unittest/core/pattern/text_input/text_input_area_model_test.cpp @@ -24,7 +24,7 @@ #include "core/components_ng/pattern/text_field/text_field_layout_algorithm.h" #include "core/components_ng/pattern/text_field/text_field_model_ng.h" #include "core/components_ng/pattern/text_field/text_field_pattern.h" - +#include "core/components_ng/pattern/text/text_model_static.h" using namespace testing; using namespace testing::ext; @@ -186,6 +186,352 @@ void TextInputAreaBase::GetFocus() class TextInputAreaTest : public TextInputAreaBase {}; +HWTEST_F(TextModelStaticTest, TextModelStaticTest_001, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validWeight = Ace::FontWeight::W100; + TextModelStatic::SetFontWeight(frameNode, validWeight); + std::optional emptyWeight = std::nullopt; + TextModelStatic::SetFontWeight(frameNode, emptyWeight); + EXPECT_FALSE(layoutProperty->GetAdaptMaxFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_002, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = 1; + TextModelStatic::SetVariableFontWeight(frameNode, validValue); + std::optional emptyWeight = std::nullopt; + TextModelStatic::SetVariableFontWeight(frameNode, emptyWeight); + EXPECT_FALSE(layoutProperty->GetAdaptMaxFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_003, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = true; + TextModelStatic::SetEnableVariableFontWeight(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetEnableVariableFontWeight(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetAdaptMaxFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_004, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = 1.0f; + TextModelStatic::SetMinFontScale(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetMinFontScale(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetAdaptMinFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_005, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = 1.0f; + TextModelStatic::SetMaxFontScale(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetMaxFontScale(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetAdaptMaxFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_006, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = Ace::FontStyle::NORMAL; + TextModelStatic::SetItalicFontStyle(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetItalicFontStyle(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetAdaptMaxFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_007, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = Ace::TextAlign::LEFT; + TextModelStatic::SetTextAlign(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextAlign(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetTextIndent().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_008, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto colorOpt = std::make_optional(); + TextModelStatic::SetTextColor(frameNode, colorOpt); + std::optional emptyColor = std::nullopt; + TextModelStatic::SetTextColor(frameNode, emptyColor); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_009, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetFontSize(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetFontSize(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetFontFamily().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_010, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetLineHeight(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetLineHeight(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetLineBreakStrategy().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_011, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetLineSpacing(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetLineSpacing(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetLineBreakStrategy().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_012, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = Ace::TextOverflow::CLIP; + TextModelStatic::SetTextOverflow(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextOverflow(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetTextOverflow().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_013, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = Ace::TextDecoration::NONE; + TextModelStatic::SetTextDecoration(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextDecoration(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetLineBreakStrategy().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_014, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto colorOpt = std::make_optional(); + TextModelStatic::SetTextDecorationColor(frameNode, colorOpt); + std::optional emptyColor = std::nullopt; + TextModelStatic::SetTextDecorationColor(frameNode, emptyColor); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_015, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = Ace::TextDecorationStyle::SOLID; + TextModelStatic::SetTextDecorationStyle(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextDecorationStyle(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetItalicFontStyle().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_016, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = Ace::TextCase::NORMAL; + TextModelStatic::SetTextCase(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetTextCase(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetItalicFontStyle().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_017, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = 1; + TextModelStatic::SetMaxLines(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetMaxLines(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetLineSpacing().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_018, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetAdaptMinFontSize(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetAdaptMinFontSize(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetAdaptMinFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_019, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetAdaptMaxFontSize(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetAdaptMaxFontSize(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetAdaptMaxFontSize().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_020, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto validValue = std::make_optional(std::vector{"16px"}); + TextModelStatic::SetFontFamily(frameNode, validValue); + TextModelStatic::SetFontFamily(frameNode, std::nullopt); + EXPECT_FALSE(layoutProperty->GetFontFamily().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_021, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + std::optional validValue = CopyOptions::None; + TextModelStatic::SetCopyOption(frameNode, validValue); + std::optional emptyValue = std::nullopt; + TextModelStatic::SetCopyOption(frameNode, emptyValue); + EXPECT_FALSE(layoutProperty->GetCopyOptions().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_022, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto validValue = std::make_optional(std::vector{ Shadow() }); + TextModelStatic::SetTextShadow(frameNode, validValue); + TextModelStatic::SetTextShadow(frameNode, std::nullopt); + EXPECT_FALSE(layoutProperty->GetShowErrorText().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_023, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto validValue = TextHeightAdaptivePolicy::LAYOUT_CONSTRAINT_FIRST; + TextModelStatic::SetHeightAdaptivePolicy(frameNode, validValue); + TextModelStatic::SetHeightAdaptivePolicy(frameNode, std::nullopt); + EXPECT_FALSE(layoutProperty->GetHeightAdaptivePolicy().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_024, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetTextIndent(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetTextIndent(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetTextIndent().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_025, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetBaselineOffset(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetBaselineOffset(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetLineSpacing().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_026, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto dimensionOpt = std::make_optional(); + TextModelStatic::SetLetterSpacing(frameNode, dimensionOpt); + std::optional emptyDimension = std::nullopt; + TextModelStatic::SetLetterSpacing(frameNode, emptyDimension); + EXPECT_FALSE(layoutProperty->GetLineSpacing().has_value()); +} + +HWTEST_F(TextModelStaticTest, TextModelStaticTest_027, TestSize.Level0) +{ + auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); + EXPECT_NE(frameNode, nullptr); + auto layoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(layoutProperty, nullptr); + auto validValue = std::make_optional(); + TextModelStatic::SetFont(frameNode, validValue); + TextModelStatic::SetFont(frameNode, std::nullopt); + EXPECT_FALSE(layoutProperty->GetFontFamily().has_value()); +} + /** * @tc.name: testTextIndent002 * @tc.desc: test testInput text TextIndent -- Gitee