X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-TextLabel-internal.cpp;h=b72dcb42415d01ce9e7fec1c056e88dae223ae88;hp=e85ea21a92a13689f8c709aa8887d7a06cd5d3ba;hb=5247947358fb8bd9a1b27a6f0f347d6836b6e4f0;hpb=9161d9828d1a5bb3c7eaf83002863de84b23b751 diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-TextLabel-internal.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-TextLabel-internal.cpp index e85ea21..b72dcb4 100755 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-TextLabel-internal.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-TextLabel-internal.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,8 @@ #include #include #include +#include +#include using namespace Dali; using namespace Toolkit; @@ -47,13 +49,13 @@ int UtcDaliTextLabelMarkupUnderline(void) uint32_t expectedNumberOfUnderlinedGlyphs = 5u; Toolkit::Internal::TextLabel& textLabelImpl = GetImpl( textLabel ); - const Text::Length numberOfUnderlineRuns = textLabelImpl.getController()->GetTextModel()->GetNumberOfUnderlineRuns(); + const Text::Length numberOfUnderlineRuns = textLabelImpl.GetTextController()->GetTextModel()->GetNumberOfUnderlineRuns(); DALI_TEST_EQUALS( numberOfUnderlineRuns, expectedNumberOfUnderlinedGlyphs, TEST_LOCATION ); Vector underlineRuns; underlineRuns.Resize(numberOfUnderlineRuns); - textLabelImpl.getController()->GetTextModel()->GetUnderlineRuns(underlineRuns.Begin(), 0u, numberOfUnderlineRuns); + textLabelImpl.GetTextController()->GetTextModel()->GetUnderlineRuns(underlineRuns.Begin(), 0u, numberOfUnderlineRuns); //ABC are underlined DALI_TEST_EQUALS( underlineRuns[0u].glyphIndex, 0u, TEST_LOCATION); @@ -66,4 +68,155 @@ int UtcDaliTextLabelMarkupUnderline(void) END_TEST; -} \ No newline at end of file +} + +int UtcDaliTextLabelBackgroundTag(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliTextLabelBackgroundTag\n"); + + TextLabel label = TextLabel::New(); + DALI_TEST_CHECK( label ); + + label.SetProperty( TextLabel ::Property::ENABLE_MARKUP, true ); + label.SetProperty( TextLabel::Property::TEXT, "He World" ); + application.GetScene().Add( label ); + application.SendNotification(); + application.Render(); + + Toolkit::Internal::TextLabel& labelImpl = GetImpl( label ); + const ColorIndex* const backgroundColorIndicesBuffer = labelImpl.GetTextController()->GetTextModel()->GetBackgroundColorIndices(); + + DALI_TEST_CHECK( backgroundColorIndicesBuffer ); + + //default color + DALI_TEST_EQUALS( backgroundColorIndicesBuffer[0], 0u, TEST_LOCATION); + + //red color + DALI_TEST_EQUALS( backgroundColorIndicesBuffer[1], 1u, TEST_LOCATION); + + //yellow color + DALI_TEST_EQUALS( backgroundColorIndicesBuffer[7], 2u, TEST_LOCATION); + + END_TEST; +} + +int UtcDaliToolkitTextlabelEllipsisInternalAPIs(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs "); + TextLabel textLabel = TextLabel::New(); + + Toolkit::Internal::TextLabel& textLabelImpl = GetImpl( textLabel ); + const ModelInterface* const textModel = textLabelImpl.GetTextController()->GetTextModel(); + + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - ELLIPSIS Disabled"); + textLabel.SetProperty(DevelTextLabel::Property::ELLIPSIS, false); + DALI_TEST_EQUALS( textLabel.GetProperty< bool >( DevelTextLabel::Property::ELLIPSIS ), false, TEST_LOCATION ); + DALI_TEST_CHECK(!(textModel->IsTextElideEnabled())); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - ELLIPSIS Enabled"); + textLabel.SetProperty(DevelTextLabel::Property::ELLIPSIS, true); + DALI_TEST_EQUALS( textLabel.GetProperty< bool >( DevelTextLabel::Property::ELLIPSIS ), true, TEST_LOCATION ); + DALI_TEST_CHECK(textModel->IsTextElideEnabled()); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetStartIndexOfElidedGlyphs Default"); + DALI_TEST_EQUALS( textModel->GetStartIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetEndIndexOfElidedGlyphs Default"); + DALI_TEST_EQUALS( textModel->GetEndIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetFirstMiddleIndexOfElidedGlyphs Default"); + DALI_TEST_EQUALS( textModel->GetFirstMiddleIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetSecondMiddleIndexOfElidedGlyphs Default"); + DALI_TEST_EQUALS( textModel->GetSecondMiddleIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + // Tests the rendering controller has been created. + TypesetterPtr typesetter = Typesetter::New( textModel ); + DALI_TEST_CHECK(typesetter); + + // Tests the view model has been created. + ViewModel* model = typesetter->GetViewModel(); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - IsTextElideEnabled ViewModel"); + DALI_TEST_CHECK(model->IsTextElideEnabled()); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetStartIndexOfElidedGlyphs ViewModel"); + DALI_TEST_EQUALS( model->GetStartIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetEndIndexOfElidedGlyphs ViewModel"); + DALI_TEST_EQUALS( model->GetEndIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetFirstMiddleIndexOfElidedGlyphs ViewModel"); + DALI_TEST_EQUALS( model->GetFirstMiddleIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + tet_infoline(" UtcDaliToolkitTextlabelEllipsisInternalAPIs - GetSecondMiddleIndexOfElidedGlyphs ViewModel"); + DALI_TEST_EQUALS( model->GetSecondMiddleIndexOfElidedGlyphs(), 0u, TEST_LOCATION ); + + END_TEST; +} +int UtcDaliTextLabelTextWithSpan(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliTextLabelTextWithSpan\n"); + + TextLabel label = TextLabel::New(); + DALI_TEST_CHECK( label ); + + label.SetProperty( TextLabel ::Property::ENABLE_MARKUP, true ); + label.SetProperty( TextLabel::Property::TEXT, "Hello Span" ); + application.GetScene().Add( label ); + + application.SendNotification(); + application.Render(); + + Vector3 originalSize = label.GetNaturalSize(); + label.SetProperty( TextLabel::Property::TEXT, "Hello Span" ); + + application.SendNotification(); + application.Render(); + + Vector3 spanSize = label.GetNaturalSize(); + + DALI_TEST_GREATER(spanSize.width, originalSize.width, TEST_LOCATION); + + Toolkit::Internal::TextLabel& labelImpl = GetImpl( label ); + const ColorIndex* const colorIndicesBuffer1 = labelImpl.GetTextController()->GetTextModel()->GetColorIndices(); + + DALI_TEST_CHECK( colorIndicesBuffer1 ); + + //default color + DALI_TEST_EQUALS( colorIndicesBuffer1[0], 0u, TEST_LOCATION); + + //span color + DALI_TEST_EQUALS( colorIndicesBuffer1[1], 1u, TEST_LOCATION); + + //default color + DALI_TEST_EQUALS( colorIndicesBuffer1[6], 0u, TEST_LOCATION); + + + label.SetProperty( TextLabel::Property::TEXT, "Hello Span" ); + + application.SendNotification(); + application.Render(); + + const ColorIndex* const colorIndicesBuffer2 = labelImpl.GetTextController()->GetTextModel()->GetColorIndices(); + + DALI_TEST_CHECK( colorIndicesBuffer2 ); + + //default color + DALI_TEST_EQUALS( colorIndicesBuffer2[0], 0u, TEST_LOCATION); + + //default color + DALI_TEST_EQUALS( colorIndicesBuffer2[1], 0u, TEST_LOCATION); + + //span color + DALI_TEST_EQUALS( colorIndicesBuffer2[6], 1u, TEST_LOCATION); + + //default color + DALI_TEST_EQUALS( colorIndicesBuffer2[7], 0u, TEST_LOCATION); + + END_TEST; +}